Я смотрю на те же две альтернативы, которые вы есть, для нескольких проектов.
Пока что лучшая бритва, с которой я столкнулся, чтобы решить между ними для данного проекта, - нужно ли мне использовать Javascript. Одна существующая система, которую я хочу перенести, уже написана на Javascript, поэтому ее следующая версия, скорее всего, будет сделана в node.js. Другие проекты будут реализованы в некоторой веб-среде Erlang, потому что нет существующей базы кода для миграции.
Другое соображение заключается в том, что Erlang масштабируется намного дальше нескольких ядер, он может масштабироваться до целого центра обработки данных. Я не вижу встроенного механизма в node.js, который позволял бы мне отправлять другому JS-процессу сообщение, не заботясь о том, на каком компьютере он находится, но он встроен прямо в Erlang на самых низких уровнях. Если ваша проблема недостаточно велика для того, чтобы требовать нескольких компьютеров, или если для этого не требуется нескольких взаимодействующих процессов, это преимущество вряд ли будет иметь значение, поэтому вы должны его игнорировать.
Эрланг - действительно глубокий бассейн, в который можно погрузиться. Я бы предложил сначала написать автономную функциональную программу, прежде чем начинать создавать веб-приложения. Еще более простой первый шаг, поскольку Javascript, похоже, вас устраивает, состоит в том, чтобы попробовать программировать JS в более функциональном стиле. Если вы используете jQuery или Prototype, вы уже пошли по этому пути. Попробуйте отскочить между чисто функциональным программированием на Erlang или одним из его родственников (Haskell, F #, Scala ...) и функциональным JS.
Как только вы освоитесь с функциональным программированием, найдите одну из многих веб-фреймворков Erlang; Вы, вероятно, не должны писать свое приложение напрямую на что-то низкоуровневое, например inets
, на этом позднем этапе. Посмотрите, например, на Азот .