Я хотів би зробити кілька веб-програмувань, використовуючи функціональне програмування. Які гідні веб-рамки існують для функціональних мов програмування?
Я хотів би зробити кілька веб-програмувань, використовуючи функціональне програмування. Які гідні веб-рамки існують для функціональних мов програмування?
Відповіді:
Підйомник - цікава рамка для Scala. Практична перевага Scala полягає в тому, що вона може використовувати будь-які існуючі бібліотеки Java.
Є ще багато-багато інших (навіть я розробляю одного у F #), але я думаю, що ці (і Ліфт, уже згадані) є найбільш повною / популярною / задокументованою. Я не можу коментувати рамки Erlang.
Є список веб-рамок, доступних для Erlang. Підсумовуючи цей список тут:
З цих двох, які мене найбільше цікавлять, - це веб-машина та азот . YMMV.
Noir красивий, функціональний і простий (в Rich Хики " Simple Made Easy " сенсі):
(defpage "/welcome" []
"Welcome to Noir!")
(server/start 8080)
Особливо мені подобається, як потім можна створити весь веб-додаток, лише використовуючи функціональну композицію, підтримувану кількома макросами, щоб увімкнути приємний декларативний DSL.
Compojure - це веб-рамка з відкритим кодом для мови програмування Clojure.
Оскільки ви не залишали жодних мов, про які йдеться, я думаю, ви приймаєте кілька мов ...
Отже, для мови F # існує FSharp.WebTools .
Веб-інструменти F # розширюють розподіл F # за допомогою інструментів для створення однорідних веб-додатків клієнт / сервер / бази даних в одному проекті, перевіреному типом. Модальні відмінності між клієнтом і сервером перевіряються за допомогою використання робочих процесів F #, і LINQ може використовуватися для доступу до бази даних. У першій версії частини програми динамічно служать JavaScript. Планові розширення включають обслуговування порцій на стороні клієнта як код Silverlight.
Snap - це приємна та дуже швидка веб-основа для Haskell.
прості рамки веб-розробки для систем Unix, написані мовою програмування Haskell. Snap має високий рівень охоплення тестом і добре задокументований. Особливості включають:
- Швидка бібліотека серверів HTTP
- Розумна і чиста монада для веб-програмування
- Система шаблонів на основі HTML для генерації сторінок ...
Існує порівняння веб-рамок Erlang на Github:
https://github.com/evanmiller/ChicagoBoss/wiki/Comppare-of-Erlang-Web-Frameworks
Я не грав зі всіма перерахованими там рамками, тому не хочу судити, але я досить широко використовував Zotonic у своєму проекті, і я його від щирого серця рекомендую. Наскільки я знаю, це єдина система Erlang, яка є не лише рамкою, а й повноцінною CMS. Таким чином, ви можете легко почати лише з функцій CMS, а потім розширити веб-сайт, додавши власну функціональну функцію за допомогою власних модулів. У моєму випадку я використовую це суто як рамки, оскільки в даний момент функції CMS працюють лише з PostgreSQL, і я не можу використовувати окрему базу даних. Але навіть як рамки він пропонує безліч функцій, які не завжди зустрічаються в інших структурах.
Що дуже приємно, це те, що проект дуже активно розвивається, тому що люди, які стоять за Zotonic розробляють та впроваджують веб-сайти, і вони використовують його як свій CMS на вибір.
Якби мені довелося вибирати, я, мабуть, дав би перший шанс Зотоніку, потім Чикаго Босс, а потім Азот.