Какой приличный веб-фрамин существует для функционального программирования? [закрыто
https://softwareengineering.stackexchange.com/questions/3049
-
16-10-2019 - |
Вопрос
Я хотел бы сделать некоторое веб -программирование, используя функциональное программирование. Какие приличные веб-раме существуют для языков функционального программирования?
Решение
Поднимать Интересная структура для Scala. Практическое преимущество Scala заключается в том, что она может использовать любые существующие библиотеки Java.
Другие советы
- WebSharper (F#)
- Yesod (Хаскелл)
- Щелчок (Хаскелл)
- Ocsigen (OCAML)
Есть еще много других (даже я разрабатываю один в F#), но я думаю, что эти (и уже упомянутые) являются наиболее полными/популярными/задокументированными. Я не могу комментировать фреймворки Erlang.
Есть список веб -фреймворков, доступных для Erlang. Суммирование этого списка здесь:
- Erlang-Web
- Веб -мочи
- Зотонический (Это на самом деле CMS.)
- азот
- Чикагский босс
- Эрливеб (Основано на рысках, но немного мертв.)
Из тех, кто мне больше всего интересует Веб -мочи а также азот. Анкет YMMV.
Нуар Красивый, функциональный и простой (в богатом ход "Простые сделали легко" смысл):
(defpage "/welcome" []
"Welcome to Noir!")
(server/start 8080)
Мне особенно нравится, как вы сможете создать все свое веб -приложение, просто используя функциональную состав, поддерживаемую несколькими макросами для обеспечения хорошего декларативного DSL.
Compojure - это веб -структура с открытым исходным кодом для языка программирования Clojure.
Поскольку вы оставили какие -либо языки из вопроса, я думаю, вы принимаете несколько языков ...
Итак, для языка f# существует Fsharp.webtools.
Веб-инструменты F# увеличивают дистрибуцию F# инструментами для автора однородных клиентских/серверов/базы данных веб-приложений в одном проекте, проверенном типам. Модальные различия между клиентом и сервером проверяются с помощью использования рабочих процессов F#, а LINQ можно использовать для доступа к базе данных. В первой версии части приложения динамически служат JavaScript. Запланированные расширения включают в себя обслуживание участков на стороне клиента в качестве кода Silverlight.
Я рекомендую изучить Эрланг и яв. Анкет Erlang - это легкий язык функционального программирования с отличным набором функций, хороших библиотек и активного сообщества разработчиков. Зора эффективен и хорошо ослаблен.
Щелчок хороший и В самом деле Быстрая веб -структура для Хаскелла.
Простая структура веб -разработки для систем UNIX, написанная на языке программирования Haskell. Snap имеет высокий уровень тестового покрытия и хорошо документирован. Особенности включают:
- Быстрая библиотека серверов HTTP
- Разумная и чистая монада для веб -программирования
- Система шаблонов на основе HTML для создания страниц ...
На Github есть сравнение веб -фреймворков Erlang:
https://github.com/evanmiller/chicagoboss/wiki/comparison-of-erlang-web-frameworks
Я не играл со всеми перечисленными там фреймворками, поэтому я не хочу судить, но я довольно широко использую Zotonic в своем проекте в настоящее время и искренне могу рекомендовать его. Насколько я знаю, это единственная структура Erlang, которая является не только структурой, но и полномасштабной CMS. Таким образом, вы можете легко начать с функций CMS, а затем расширить веб -сайт, добавив свою пользовательскую функциональность, используя свои собственные модули. В моем случае я использую его исключительно в качестве структуры, потому что в этот момент функции CMS работают только с PostgreSQL, и я не могу использовать отдельную базу данных. Но даже как платформа, он предлагает множество функций, которые не всегда находятся в других рамках.
Что очень приятно, так это то, что проект очень активно развивается, потому что люди, стоящие за зотоническим дизайном и внедрены веб -сайтами, и используют его в качестве выбора.
Если бы мне пришлось выбрать, то я бы, вероятно, дал бы Zotonic первый шанс, затем Chicagoboss, а затем азот.