нуар против композитора? - PullRequest
18 голосов
/ 31 марта 2012

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

РЕДАКТИРОВАТЬ / ОБНОВИТЬ: Noir устарел, интересно написать здесь: http://blog.raynes.me/blog/2012/12/13/moving-away-from-noir/.

Ответы [ 4 ]

17 голосов
/ 14 декабря 2012

Noir, фреймворк устарел от самого владельца Noir.

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

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

17 голосов
/ 31 марта 2012

От автора самого Нуара :

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

(акцент мой)

15 голосов
/ 31 марта 2012

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

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

0 голосов
/ 31 марта 2012

Вы всегда можете проверить API на веб-сайте webnoir.org.Помимо defpage.

имеется множество дополнительных функций.
...