Подтвердить что ты не робот

Noir vs compojure?

У меня возникли проблемы с пониманием точки библиотеки clojure Noir. Кажется, что структура, написанная поверх композиции, переименовывает defroute в defrace и называет ее днем. Очевидно, несправедливое упрощение, но что именно делает Нойр за столом? Почему я должен использовать Noir вместо простой compojure + hiccup?

ИЗМЕНИТЬ/UPDATE: Noir устарел, интересный напишите здесь: http://blog.raynes.me/blog/2012/12/13/moving-away-from-noir/.

4b9b3361

Ответ 1

Compojure - небольшая структура, которая генерирует обработчики запроса/ответа на запросы, в которых обработчики выбираются на основе определенных вами маршрутов.

Noir добавляет функции для обработки сеанса, куки, шаблоны и частичные файлы, более простой способ генерации ответов, проверки формы, фильтров маршрутов, зашифрованных паролей, JSON (дезадаптация) и пользовательских статусных страниц. Другими словами, Noir объединяет Compojure, Hiccup и кучу других умных вещей в одном пакете.

Ответ 2

Из автора самого Noir:

Noir не является заменой для [compojure и hiccup], более абстракции над ними. Это было рождено из того, как развилось реальное веб-приложение и чего не хватало в стеке ring/compojure/hiccup, когда я построил http://www.typewire.io. Кроме того, как я упомянул в одном из других комментариев, Я надеюсь, что он станет единственным "пакетом", который начнется с веб-разработки в Clojure, вместо того, чтобы попытаться собрать его вместе с частями, которые теперь там.. Контролируя все это, я могу создать гораздо более сплоченную и четко определенную историю, помогающую людям начать работу. Я также могу поделиться тем, что я узнал о поддержке веб-сайтов в Clojure, и, надеюсь, поощрять шаблоны, которые позволяют избежать некоторых ям, в которые я попал.

(акцент мой)

Ответ 3

Noir, структура была устаревшая самим нотариусом.

Предлагается использовать Compojure и lib-noir:

Для новых веб-сайтов используйте Compojure и lib-noir. Это почти так же, как и батареи, которые когда-либо были самими Ноиром! Вам просто нужно научиться писать маршруты с помощью Compojure. Его легко и точно так же лаконично, как и в Нойре. Вам не нужно использовать адаптер для звонков и прочее, просто используйте плагин lein-ring для запуска вашего сервера. Кроме того, если вы воспользовались Noir, включая икоту по умолчанию, у вас теперь будет явная зависимость от нее. Нет, большой, не так ли? Правильно!

Ответ 4

Вы всегда можете проверить API на веб-сайте webnoir.org. Существует много дополнительных функций, кроме defpage.