Quali sono le tecnologie software dietro alle app Web in tempo reale? [chiuso]

5

Quali sono alcune delle tecnologie software alla base delle app web "in tempo reale", come Twitter, Trello o persino Gmail? So che c'è un server web e probabilmente un database sul back-end, ma quali sono i pezzi software che fanno per quella ricca interazione web che sto vedendo più oggi?

    
posta jdt141 07.12.2011 - 03:10
fonte

2 risposte

5

La cometa svolge un ruolo importante in queste applicazioni.

Comet is a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.

link

JavaScript è la colla tra i server di cometa e i browser. I software server come Node.js vengono utilizzati per implementare questi server comet che dovranno gestire molte connessioni di lunga durata.

Oltre a cometa, queste applicazioni richiedono anche un buon back-end. Le soluzioni potrebbero essere molto specifiche per il problema.

Twitter, ad esempio, deve trasmettere in streaming tweet a tutti i follower per ciascuno dei tuoi tweet. Facebook deve eseguire algoritmi di apprendimento automatico per selezionare le storie da trasmettere sul tuo feed delle notizie.

Sebbene diverse, queste applicazioni hanno molte cose in comune: l'uso intensivo della cache, la denormalizzazione dei dati, i lavori asincroni, sono altamente distribuiti.

    
risposta data 07.12.2011 - 05:00
fonte
2

Lato client, Javascript e Ajax.

Lato server, una miriade di stack tecnologici diversi ... Come Raynos ha eluso nel suo commento, praticamente qualsiasi cosa può essere usata per costruire un'applicazione web in tempo reale ...

Potresti usare un server web (come Apache) per mediare la comunicazione tra i tuoi clienti e i dati, ma non necessariamente. Puoi anche scrivere la tua gestione HTTP su un server piuttosto che occuparti del sovraccarico dell'utilizzo di un server web di terze parti. Alcuni esempi potrebbero essere (supponiamo Javascript / AJAX lato client per ciascuno):

Language   / Interface / Server
-------------------------------
Python     / WSGI      / nginx
Javascript / -         / node.js
C++        / FastCGI   / Apache
Erlang     / -         / Yaws (embedded)
PHP        / mod_php   / Apache

Ancora una volta, questi sono solo alcuni esempi di possibilità. Le possibili permutazioni di stack tecnologici per l'implementazione di soluzioni lato server sono praticamente infinite.

Modifica

Silly me. HTML5 è probabilmente la più grande aggiunta allo stack tecnologico sul lato client che consente applicazioni web ricche al giorno d'oggi. L'aggiunta di funzionalità come l'audio (Firefox ha persino esposto i dati audio per consentire visualizzazione di uno spettro audio tramite Javascript ), video , database (WebSQL, IndexedDB), filesystem (sandbox sulla maggior parte dei browser, accesso completo al sistema disponibile in Firefox tramite componenti XPCOM), WebGL e WebSockets sono solo alcune delle grandi aggiunte che HTML5 ha portato con sé.

    
risposta data 07.12.2011 - 04:18
fonte

Leggi altre domande sui tag