Opa 1.0 -- JavaScript-фреймворк со строгой статической типизацией
Представлен первый релиз фреймворка Opa 1.0. Авторы Opa считают его одним из наиболее сложных и мощных JavaScript-фреймворков из всех существующих: он включает в себя полную реализацию всего стека возможностей JavaScript, расширенных поддержкой статической типизации и обеспечивающий полную поддержку Node.js и MongoDB. Код фреймворка доступен под лицензией Affero GPL.
Данный фреймворк также может использоваться в качестве самостоятельного языка программирования: приложение, будучи написанным на Opa, будет автоматически проверено на качество его кода, после чего может быть автоматически сгенерировано аналогичное по функциональности JavaScript-приложение. Все основные аспекты разработки веб-приложений любого уровня сложности изначально реализованы в данном фреймворке: это и типовой код фронтенда и бэкенда, генерация запросов к базе данных и варианты различных типовых конфигураций. Разработчики утверждают, что на разработку Opa потрачено более 100 человеко-лет, не беря в расчет тот код, который был безвозмездно инвестирован сторонними проектами и исследовательскими лабораториями.
Основные особенности Opa:
- AJAX и COMET-вызовы с прозрачной JSON-сериализацией;
- генерация HTML;
- определение модели использования данных;
- генерирование запросов к базе данных (пока только для MongoDB);
- поддержка событийно-ориентированного подхода с неблокирующей архитектурой;
- встроенные парсеры и генераторы;
- фреймворк использует строгую статическую типизацию;
- уделено большое внимание вопросам безопасности;
- быстрый компилятор реализован на OCaml.
В конце этого лета планируется выход следующей версии — Opa 1.1, в которой планируется улучшить стандартную библиотеку и API, расширить сообщения об ошибках в выводе компилятора и улучшить производительность Node.js-бэкенда. Разработчики также заявляют, что хотят сделать Opa фреймворком де-факто для всех корпоративных JavaScript-приложений.