2010-09-29 4 views
109

Così ho finito di guardare l'eccellente serie di Douglas Crockford su Javascript e nell'ultimo episodio (finora), loopage, spiega perché Node.js è una soluzione quasi perfetta per il codice lato server.Esempi di applicazioni Web Node.js/esercitazioni

Parla di mantenere lo stato, non nel database, ma nelle chiusure in esecuzione in Node.js, afferma anche che i sistemi di template (come JSP, PHP e ASP) sono una povera astrazione per applicazioni Web più complesse e che node.js fornisce una soluzione a questo.

E io sono pronto per l'acquisto, ma non riesco a trovare alcun esempio di applicazioni Web che utilizzano questo modello, o qualsiasi libro o tutorial su come fare per farlo. Non sto parlando di uno simple application, ma qualcosa che userebbe i modelli di cui parlava Crockford nel suo discorso. Qualcuno sa dove posso trovare alcuni tutorial/esempi di applicazioni Web scritte in Node.js (e sì so di Geddy e ExpressJs, ma non sembrano seguire i modelli radicalmente diversi di cui parlava Crockford, ed erano più simili ottenere un'esperienza Railsy su Node.js).

[Nota da 3 anni nel futuro: Sembra Express, Geddy, Sails, Kraken et tutti sono re-implementazioni delle framework Rails/Symfony/primavera da Ruby/PHP/Java. Mentre cose come Hoodie e Meteor sono tentativi di un paradigma completamente nuovo. KOA sembra interessante, ma è un modo per non essere utilizzabile, ma sembra che stia sfruttando i punti di forza di javascript con la cronologia delle applicazioni MVC del passato. 3 anni dopo ed è ancora tempi entusiasmanti per Nodejs, anche se non è più il nuovo hotness. Almeno ci sono un sacco di esempi reali di Nodo in uso ora ...

+0

primo anello -> morto –

+9

penso che molto costruttivo. Stavo cercando tutorial/applicazioni. Questo ha funzionato per me: http://de.slideshare.net/gabriele.lana/nodejs-explained-with-examples – MartinL

risposta

87

Vorrei suggerire di verificare i vari tutorial che stanno venendo fuori ultimamente. La mia preferita corrente è:

http://nodetuts.com/

Spero che questo aiuti.

+1

James shore ha una serie di video in cui copre l'implementazione di https://github.com/jamesshore/lets_code_javascript –

8

La competizione Node Knockout ultimata, e molte delle presentazioni sono disponibili su github. Al momento il sito della concorrenza non sembra funzionare, ma sono sicuro che potresti controllare alcune voci di Google.

+0

http://nodeknockout.posterous.com/and-the-winners-are ha un elenco di alcuni di le voci, ma nessun link diretto a nessun repository github. –

+1

Il repository Github Nodo Knockout contiene diversi progetti: http://github.com/nko – dhofstet

4

Aggiornamento

Dav Glass da Yahoo ha dato un discorso a YuiConf2010 nel mese di novembre, che è ora disponibile in Video from.

Mostra in modo molto approfondito come si possa utilizzare YUI3 per eseguire il rendering di widget sul lato server e farli funzionare con le richieste GET quando JS è disabilitato, o semplicemente farli funzionare normalmente quando è attivo.

Mostra anche esempi di come utilizzare DOM lato server per applicare i fogli di stile prima del rendering e altre cose interessanti.

Le demo possono essere trovate sul suo GitHub Account.

La parte che manca a IMO per renderlo davvero eccezionale, è una sorta di memoria sottostante dello stato del widget. In modo che si possa visitare la pagina senza JavaScript e tutto funziona come previsto, quindi accendono JS e ora il widget ha lo stesso stato di prima ma funzionano senza ricaricare la pagina, quindi aggiungono qualche salvataggio al server + WebSockets per sincronizzarsi tra più apri il browser .... e nasce la nuova generazione di ARIA, discreta e che degrada con grazia.

risposta originale

anche andare avanti e costruito da soli allora.Seriamente, il 90% di tutte le WebApp funzionano bene con un approccio REST, ovviamente puoi fare cose magiche come il monitoraggio degli utenti, il monitoraggio dei download in tempo reale, controllare quali parti dei video vengono guardate, ecc.

Un problema è la scalabilità, non appena si ha più di 1 processo di nodo, molti (ma non tutti) i vantaggi di avere i dati memorizzati tra le richieste vanno via, quindi è necessario assicurarsi che i client colpiscano sempre lo stesso processi. E anche allora, le cose più grandi avranno ancora bisogno di un livello di database.

Node.js non è la soluzione a tutto, sono sicuro che la gente costruirà cose davvero grandiose in futuro, ma ha bisogno di un po 'di tempo, in questo momento molti stanno semplicemente trasferendo materiale su Node per far funzionare le cose.

Cosa (IMHO) rende Node.js così grande, è il fatto che semplifica il processo di sviluppo, devi scrivere meno codice, funziona perfettamente con JSON, perdi tutto quel cambio di contesto.

Principalmente ho fatto esperimenti di gioco fino ad ora, ma posso sicuramente dire che ci saranno molte cose interessanti multi giocatore (o anche MMO) in futuro, che usano sia HTML5 che Node.js.

Node.js sta ancora guadagnando trazione, non è nemmeno vicino a RoR Hype alcuni anni fa (basta dare un'occhiata al tag Node.js qui su SO, appena 4-5 domande al giorno).

Roma (o RoR) non è stata costruita durante la notte e Node.js non lo sarà.

Node.js ha tutte le potenzialità di cui ha bisogno, ma le persone stanno ancora cercando le cose, quindi consiglio a unirsi a loro :)

2

La cosa più vicina è il lavoro sperimentale di probabile Dav Glass utilizzando node.js , espresso e YUI3. Fondamentalmente, spiega come YUI3 viene utilizzato per il rendering del markup sul lato server, quindi inviato al client dove si verifica l'associazione con eventi e dati. Il bello è che YUI3 è usato così com'è sia sul client che sul server. Ha molto senso. L'unico grosso problema è che non esiste ancora una libreria DOM lato server pronta per la produzione.

screencast

+1

Sì, in realtà questo talk è stato uno dei discorsi che mi ha entusiasmato per Node.js (anche se l'idea di usare jquery piuttosto che http YUI: //blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs è molto più eccitante per me) –