N2O разрабатывался как многофункциональный websocket-сервер приложений широкого назначения. Будучи ответвлен изначально от классического сервер-рендер фреймворка Nitrogen, он развился в мощное средство (включающее и поддержку SPA-приложений) обеспечения пула долгоживущих TCP-соединений и доставки кода/данных, выступая в качестве высокоемкостного релея, благодаря надежной и высокоустойчивой платформе Erlang/OTP.
Соединяя в себе все черты full-stack веб-фреймворков — роутинг, шаблоны, Pub/Sub, сессии, хранилище, REST и поддержка собственных протоколов — N2O добавляет совершенно уникальные возможности для создания различных DSL. Вы можете транслировать в JavaScript бизнес-логику, написанную на языках Erlang (Elixir, Erlang, Joxa), генерировать трансформации Erlang-записей в JSON, определять JavaScript-протоколы на языке Erlang и многое другое.
Сейчас N2O развивается в сторону поддержки SVG-клиентов и бинарных протоколов.
Основные изменения в версии 1.8:
- полная семантическая верстка HTML5 в DSL;
- автоматические реконнекты;
- новый сессионный менеджер автогенерируемых логинов;
- расширение бинарного протокола для Data-on-Wire;
- зависимость от jQuery стала опциональной;
- Shen: компилятор JavaScript из Erlang;
- улучшенная rebar-совместимая система сборки MAD;
- возможность запаковать сайт в виде исполняемого файла, который можно запустить на Windows, Linux и Mac;
- улучшенный REST-эндпойнт;
- возможность создания SPA-приложений;
- новые примеры приложений Skyline (DSL) и Games (SPA).
- улучшенный Secure сериализатор;
- вышла книга по N2O.
Страница проекта на GitHub: https://github.com/5HT/n2o
Домашняя страница: https://synrc.com/apps/n2o/
Презентация: http://slides.com/maximsokhatsky/n2o