Sto esaminando le stesse due alternative che sei, Gotts, per più progetti.
Finora, il miglior rasoio che ho escogitato per decidere tra loro per un determinato progetto è se devo usare Javascript. Un sistema esistente che sto cercando di migrare è già scritto in Javascript, quindi è probabile che la sua prossima versione venga eseguita in node.js. Altri progetti verranno eseguiti in alcuni framework Web Erlang perché non esiste una base di codice esistente da migrare.
Un'altra considerazione è che Erlang scala ben oltre i soli core multipli, può scalare a un intero datacenter. Non vedo un meccanismo integrato in node.js che mi consenta di inviare un messaggio a un altro processo JS senza preoccuparmi della macchina su cui si trova, ma è integrato direttamente in Erlang ai livelli più bassi. Se il tuo problema non è abbastanza grande da richiedere più macchine o se non richiede più processi di cooperazione, è probabile che questo vantaggio non abbia importanza, quindi dovresti ignorarlo.
Erlang è davvero una pozza profonda in cui tuffarsi. Suggerirei di scrivere un programma funzionale autonomo prima di iniziare a creare app web. Un primo passo ancora più semplice, dal momento che sembri a tuo agio con Javascript, è provare a programmare JS in uno stile più funzionale. Se usi jQuery o Prototype, hai già iniziato questo percorso. Prova a rimbalzare tra la pura programmazione funzionale in Erlang o uno dei suoi parenti (Haskell, F #, Scala ...) e JS funzionale.
Una volta che sei a tuo agio con la programmazione funzionale, cerca uno dei tanti framework web Erlang; probabilmente non dovresti scrivere la tua app direttamente su qualcosa di basso livello come inets
in questa fase avanzata. Guarda qualcosa come l' azoto , per esempio.