// codeart.ru / Обзоры / Erlang и ChicagoBoss Web Framework Форум

Erlang и ChicagoBoss Web Framework rss подписка

Автор: Codeart

Совсем короткая заметка о моих впечатлениях о фреймворке ChicagoBoss. Для тех, кто не в курсе — небольшое пояснение, ChicagoBoss — это фреймворк для создания веб приложений. Особенностью данного фреймворка является то, что он написан на замечательном функциональном языке программирования Erlang. И на данный момент, на мой взгляд, это самый лучший фреймворк из всех, что я когда-либо использовал. И об этом далее.

[social_lock]
Функциональные языки, и в частности Erlang, привлекали меня давно. Еще с института я очень люблю рекурсивные функции. Мне кажется, что ни один цикл не может сравниться с той обвораживающей красотой, которой обладает рекурсия. Но в реальном мире рекурсивные функции — это весьма дорогое удовольствие (реальный мир — это Php, Python, Ruby и т.д.). Поэтому если нужно пробежаться по элементам массива, то приходится использовать обычные циклы, которые значительно менее прожорливы. Совсем другая история с функциональными языкам. Здесь в принципе нет такого понятия как цикл (точнее понятие есть, нет специального оператора), вместо этого повсеместно используется рекурсия. И уже только за один этот факт можно полюбить Erlang.

Конечно, есть и другие плюшки, которые привлекают внимание к данному языку: отказоустойчивость, многопоточность и тому подобные вещи. Но на них я останавливаться не буду, так как в интернете есть сотни статей, посвященных данному языку. Перейду лучше к ChicagoBoss (про него тоже есть много статей, но мне хочется добавить своих пять копеек).

В виду того, что я занимаюсь только вебом, то изучение Erlang-а для меня имеет смысл при условии, что на нем есть хорошие фреймворки, которые можно было бы использовать в повседневной жизни. Признаться, я не очень надеялся найти что-то стоящее. Опыт предыдущих лет показывает, что самые разрекламированные продукты на подобие Django и Rails на поверку имеют множество ограничений и недостатков, которые начисто убивают мечты об идеальном фреймворке. На всякий случай уточню, что ничего против Django и Рельсов я не имею. Просто дикого восторга эти фреймворки у меня не вызвали, хотя, безусловно, они очень даже хороши в своих нишах. А вот ChicagoBoss — это совсем другая песня. Не ожидая ничего особенного, я удивился тому на сколько красивым и продуманным оказался данный фреймворк.

Как-то давно в сети активно гулял урок по Рельсам, который назывался что-то типа «Делаем блог за 15 минут на Ruby on Rails», так вот, на ChicagoBoss можно сделать тоже самое, за те же 15 минут. Правда ни о какой генерации кода речи не идет. Просто код настолько компактный и выразительный, что набрать его не занимает много времени. Особенно хочется отметить выразительность, авторам фреймворка удалось добиться в этом вопросе очень больших успехов. Есть какая-то обворожительная математическая точность в коде на Erlange, которая мне очень нравится. Мне в принципе нравится математика, может поэтому нравится и Erlang.

За основу для языка шаблонов взять Django Template, т.е. фактически все шаблоны созданные в Django могут быть свободно перенесены в ChicagoBoss. И мне это тоже нравится. Точнее мне нравятся Django Template, которые выигрывают и у PHP Pure Templates, и у Рельсовых шаблонов.

Простая и удобная ORM, которая называется BossRecord — это тоже плюс. Сложные запросы, конечно, на ней не сделаешь. Но все что нужно для простых задач есть. :-)

Ну а самое приятное — это то чего нет ни в Django, ни в Рельсах. Я говорю о «Message Queue Service», который называется BossMQ. Благодаря этому функционалу ChicagoBoss позволяет без всяких извратов и напрягов создавать приложения, которые могут в реальном времени обмениваться сообщениями между друг другом. Сейчас многие сайты используют похожий функционал, поэтому приятно когда все что нужно уже сделано за тебя :-).

В общем и целом я хотел сказать одно, ChicagoBoss — это фреймворк, который мне очень понравился. В ближайшее время попробую сделать на нем небольшой сервис для Defaceit. Посмотрим не улетучится ли мое первое хорошее впечатление. :-)
[/social_lock]

Leave a Reply

« »