Da quanto ho capito, Ruby è un linguaggio che può essere utilizzato per creare applicazioni desktop. Come viene convertito in una "Web App" - ed è una "Web App" davvero diversa da un sito Web con interattività?
Questo può essere completamente fuorviante, dal momento che principalmente faccio ASP.NET in C #, ma penso di avere ancora alcune intuizioni sulla differenza tra una "web application" e un sito web interattivo. È in gran parte un problema se si visualizza il sito Web come prodotto o l'interfaccia del prodotto.
Con un sito interattivo, stai principalmente vendendo il sito stesso. Direi che questo sta diventando davvero un modello impopolare, ma cose come il sito Web di una particolare azienda potrebbero ancora rientrare in questo modello. Può esserci un database che fornisce contenuti, ma in genere ogni pagina contiene molti contenuti e può richiedere un codice personalizzato per raggiungere gli obiettivi delle pagine.
Un'applicazione web, d'altra parte, riguarda davvero il servizio. Il sito Web è solo un fattore di forma per questo. Blog, Twitter, stack overflow, CMS, Facebook e così via sono tutte applicazioni web. In genere ci sono meno pagine, più modelli. Molto poco contenuto è in realtà su una determinata pagina, perché è tutto pompato dal database.
Anche gli strumenti utilizzati e il modo in cui vengono utilizzati possono fare una grande differenza. Con Ruby o ASP.NET, puoi quasi fingere che il sito web non sia nemmeno lì. Stai solo elaborando e pompando dati come qualsiasi applicazione, ma il risultato finale viene inviato a un sito Web anziché a un modulo o qualcosa del genere. Molto spesso, le applicazioni web hanno API e altri punti di accesso che li allontanano ulteriormente dal web. I feed RSS erano dei primi esempi, ma in questi giorni è possibile scrivere un'app client che si connette direttamente a Twitter tramite la loro API in modo che il sito Web non sia mai effettivamente coinvolto.
Un'applicazione può essere ulteriormente distinta dalla sua generalità. Un motore di blog è un'applicazione web generica, che può essere applicata con diversi design e contenuti per creare molti blog unici. Molte app web Python o Ruby sono così e sono ulteriormente distinte dai framework web. Sono un po 'familiare con Pylons in Python, che è un framework per la creazione di app, che sono esse stesse le strutture per i siti ospitati.
Potrei usare i piloni per scrivere il front-end per un sistema di gestione di magazzino generico, quindi vendere l'applicazione ai miei clienti. I loro progettisti potrebbero personalizzare ulteriormente la mia applicazione web per avere alcune pagine di report statici, o alcune pagine di informazioni generali, e ora questo è un sito web.
Quindi l'applicazione è realmente distinta dal sito e dal web (e dal framework e dalla lingua). Non è una divisione lineare, molti siti includono un mix di contenuto statico e contenuto dinamico. E se è un'applicazione web, ha bisogno di un front-end del sito Web per supportarlo (ma può supportare anche altri front-end, questa è la chiave.)
VERSIONE BREVE Un'applicazione Web ha un sito Web (che è un front-end per le funzionalità dell'applicazione) ma un sito Web non deve disporre di uno stack di applicazioni completo per eseguirlo. È più una questione di intenti che una composizione reale.
Ruby
è un linguaggio di programmazione e la maggior parte delle "app web Ruby" (come hai sentito il termine ) sono composti utilizzando un framework di applicazioni web, più comunemente Ruby on Rails
. Ci sono alcuni ottimi screencast sul link se vuoi vedere come è fatto.
Allo stesso modo, altri linguaggi di programmazione / scripting ( PHP , Python , C # , Java , ecc.) usa altre tecniche, strumenti e framework per creare applicazioni web interattive simili.
Al livello più fondamentale, finiscono tutti nella stessa destinazione: un sito web interattivo. La differenza principale è nel modo in cui ci si arriva.
Leggi altre domande sui tag php web-applications ruby