Представлен первый релиз (http://blog.opalang.org/2012/06/announcing-opa-10.html) фреймворка Opa 1.0 (http://opalang.org/). Авторы Opa считают его одним из наиболее сложных и мощных Javascript-фреймворков из всех существующих: он включает в себя полную реализации всего стека возможностей JavaScript, расширенных поддержкой статической типизации и обеспечивающий полную поддержку Node.js и MongoDB. Код фреймворка доступен под лицензией Affero GPL (http://en.wikipedia.org/wiki/Affero_General_Public_License).
Данный фреймворк также может использоваться в качестве самостоятельного языка программирования: приложение, будучи написанным на Opa, будет автоматически проверено на качество его кода, после чего может быть автоматически сгенерировано аналогичное по функциональности Javascript-приложение. Все основные аспекты разработки веб-приложений любого уровня сложности изначально реализованы в данном фреймворке: это и типовой код фронтенда и бэкенда, генерация запросов к базе данных и варианты различных типовых конфигураций. Разработчики утверждают, что на разработку Opa потрачено более 100 человека/лет, не беря в расчет тот код, который был безвозмездно инвестирован сторонними проектами и исследовательскими лабораториями.
Основные особенности Opa:
- AJAX и COMET-вызовы с прозрачной JSON-сериализацией;
- Генерация HTML;
- Определение модели использования данных;
- Генерирование запросов к базе данных (пока только для MongoDB);
- Поддержка событийно-ориентированного подхода с не блокирующей архитектурой;
- Встроенные парсеры и генераторы;
- Фреймворк использует строгую статическую типизацию;
- Уделено большое внимание к вопросам безопасности;
- Быстрый компилятор реализован на OCaml.
В конце этого лета планируется выход следующей версии - Opa 1.1, в которой планируется улучшить стандартную библиотеку и API, расширить сообщения об ошибках в выводе компилятора и улучшить производительность Node.js-бэкенда. Разработчики также заявляют, что хотят сделать Opa фреймворком де-факто для всех корпоративных JavaScript-приложений.
URL: http://blog.opalang.org/2012/06/announcing-opa-10.htm
Новость: http://www.opennet.dev/opennews/art.shtml?num=34160