Как стать автором
Обновить

Ocsigen 2.0 — новая версия фреймворка для OCaml

Время на прочтение2 мин
Количество просмотров3.1K
Для тех, кто не знает: строго говоря, Ocsigen — это не совсем фреймворк. Ocsigen — это набор инструментов для создания эффективных веб-приложений на языке OCaml, он включает в себя как веб-сервер, так и инструменты для работы с потоками, написания расширений к веб-серверу, генерации HTML и многого другого. Кстати, замечу, что это может показаться невероятным (а кому-то может и не очень удобным), но генерируемый HTML5 или XHTML является статически типизированным, и валидность всего, что ваш сайт может сгенерить, будет проверена ещё на этапе компиляции.

Картинка для привлечения внимания — вращающаяся земля целиком написана на OCaml, а работает целиком в браузере.
Ну а вчера вышла новая версия этого замечательного фреймворка, и вот информация из анонса Винсента Балата (Vincent Balat):

Основные возможности:
  • Мощные средства для лёгкой реализации традиционных веб-элементов (ссылки, формы, закладки, кнопка «назад»...);
  • Компилятор из OCaml в Javascript для написания клиентской части ваших программ;
  • Интегрированное клиент-серверное программирование в одном файле, с автоматической коммуникацией между сервером и клиентом;
  • Валидация HTML во время компиляции;
  • Мощный механизм для реализации сессий;
  • Персистентный клиентский код: можно смешивать клиентские фичи с традиционным веб-взаимодействием. Программа не останавливается, когда вы жмёте ссылку!


В настоящий момент документация практически готова. Мы сейчас работаем над добавлением недостающих частей и вычиткой. Текущая версия доступна онлайн, а через несколько недель мы выложим более удобную версию в виде PDF-книги. Хорошей отправной точкой для интересующихся будет чтение руководства.

Ocsigen включает в себя множество программных продуктов (все opensource), которые можно использовать независимо:
  • Ocsigen server: расширяемый веб-сервер;
  • Eliom: фреймворк для веб-программирования на OCaml;
  • Js_of_ocaml: компилятор OCaml-байткода в Javascript;
  • Lwt: библиотека согласованно работающих потоков (cooperative threads);
  • Macaque: библиотека для типо-безопасных запросов к базам данных;
  • O'Closure: биндинги для использования библиотеки виджетов Google Closure;
  • и другие. Полный список проектов можно посмотреть здесь.


Скачать Ocsigen можно на официальном сайте: ocsigen.org (работает он, да-да, на Ocsigen).
От себя добавлю, что не все возможности нового Ocsigen я уже успел попробовать, но клиентское программирование и компиляция в Js — это действительно круто.
Теги:
Хабы:
Всего голосов 25: ↑25 и ↓0+25
Комментарии16

Публикации