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

Комментарии 5

Спасибо за интересный цикл, надеюсь на продолжение.

Что вы думаете о Luminus? (http://www.luminusweb.net/docs) По факту это просто рекомендованный набор библиотек и это упрощает поиски для людей, которые плохо знакомы с экосистемой Clojure (как я). С другой стороны, когда делаешь свои первые робкие шаги, на тебя наваливается куча всего нового и в этом случае, может, имеет смысл начать прям с нуля? То есть Ring, Compojure, Buddy по отдельности, Что посоветуете?
Здравствуйте, когда я начал свое знакомство с Clojure не имея опыта в программировании вообще, Luminus мне очень сильно помог разобраться с построением веб-приложения, ну и само-собой книга SICP. Вы абсолютно правы, что это рекомендованный набор библиотек + небольшой пример их использования. Имеет смысл просмотреть альтернативы этим библиотекам, как минимум чтобы найти приемлемые решения для себя. Конечно альтернативны Ring я не представляю так как на нем строится подавляющее большинство веб-приложений Clojure или библиотек которые используются в этих приложениях, но заместо Buddy можно посмотреть Friend от одного из создателей ClojureScript (поправьте если ошибаюсь), альтернатива Compojure — clout, но для меня она показалось более сложной, хотя везде есть плюсы и минусы. Посмотрите Noir он раньше использовался в Luminus, но потом его признали устаревшим и не рекомендуют использовать в продакшн-проектах. Но рано или поздно для разработки более-менее сложного проекта вам придется совмещать много библиотек, исходя из этого на мой взгляд сборка Luminus подобрана очень удачно.
Продолжайте пожалуйста. Замечательная статья.
Гораздо интереснее концепции языка с его core.async и реактивное программирование для веба в виде ClojureScript, плюс уникальные Datomic и его инкарнация для ClojureScript –Datascript.

Сильная сторона кложуры в правильном подходе к разработке асинхронного кода с концепциями STM, атомами, акторами. Все то, что вы показали вполне одинаково делается на всех ЯП включая PHP. Для меня было настоящим откровением открытие функционального программирования, которое я сделал для себя с clojure. Настоящая эссенция такого подхода в том, что разработка на кложуре начинается с данных, в отличие от разработки на объектно-ориентированных языках, которая начинается с абстрактных классов (код, который не делает ничего) и суть которого в сокрытии данных от пользователя, эдакий блек-бокс.

Ну а для веба настоящий хардкор начинается с Om/React, Datomic и вебсокетов.
Clojure я изучил для себя просто так, для расширения кругозора, особенно не планируя на нем что-то разрабатывать. Писал себе на Ruby on Rails, «как все». Но именно после изучения/применения ClojureScript вдруг совершенно ясно стали видны ограничения RoR и стали резать глаза такие незаметные до этого всевозможные костыли, которые подставляются справа и слева для придания интерактивности сайту (JQuery + KnockoutJS + JSON backend + ajax timer polling).

Websocket – именно так выглядит будущее веба + реактивное программирование. Браузер уже по сути является исполняемой средой.

Ну и очень рекомендую Никиту Прокопова почитать The Web After tomorrow и попробовать использовать его разработки Datascript и Rum на ClojureScript.
Здравствуйте, насчет будущего WEB соглашусь с вами. Благодарю за ссылку на «The Web After tomorrow» будем изучать. Насчет core.async и ClojureScript — сам пока-что только знакомлюсь с ними, но уже внимаю их потенциалу, к сожалению у меня мера их понимания еще не высока, чтобы рассказывать о них что-либо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории