Ho visto molti discorsi su quanto sia fantastico Node.js per le applicazioni web in tempo reale - cose che hanno bisogno di socket, Comet, comunicazioni pesanti AJAX e così via. So che il suo modello basato su eventi, asincrono e thread-driven è anche un bene per la concorrenza con un basso overhead.
Ho anche visto le esercitazioni Node.js per le app più semplici, "tradizionali" e non in tempo reale (ad esempio, l'esempio standard del blog, che sembra essere lo standard "Hello World" per le persone che apprendono lo sviluppo di app). E so anche che il nodo-statico ti consente di servire risorse statiche.
La mia domanda è: c'è qualche buona ragione per evitare Node.js per applicazioni web tradizionali, come annunci, forum, l'esempio di blog di cui sopra, o il tipo di app CRUD che costruisci per il business interno applicazioni? Solo perché eccelle in tutte le cose funky in tempo reale, questo lo controinduce per usi più raffinati?
L'unica cosa che riesco a pensare, fuori dalle righe, è la mancanza di librerie mature (anche se sta cambiando).
(La ragione per cui sto chiedendo è che sto pensando di abbandonare PHP per Node.js, principalmente per superare il disadattamento di impedenza del passaggio da una lingua all'altra, ma anche di riutilizzare il codice di convalida e quant'altro.Il mio superego mi ammonisce per scegli lo strumento migliore per il lavoro , tuttavia, non lo faccio Ho molto tempo per imparare quindici lingue e tutte le loro librerie di userland solo per avere un arsenale completo.E 'anche rassicurante che Node.js potrebbe darmi un percorso di ottimizzazione più facile di PHP / Apache in futuro quando devo iniziare a pensare traffico intenso.)
[EDIT] Grazie per le risposte finora, gente; Voglio solo vedere se qualcun altro peserà prima di scegliere una risposta. La risposta di @Raynos conferma ciò che sto pensando, ei link dei commentatori hanno fornito buoni spunti di riflessione, ma voglio vedere se qualcun altro ha risposte specifiche al nodo, ad esempio 'NON USARE NODE PER PROBLEMA X '. (Oltre ai compiti con una CPU elevata, lo so già: -)