Обзор веб-фреймворков на Haskell [закрыт]

19

Есть несколько веб-фреймворков для Haskell, такие как Happstack , Snap и Yesod , и, возможно, еще несколько.

В чем они отличаются друг от друга? Например:

  • функции (например, только сервер или клиентские скрипты, легкая поддержка различных типов баз данных)
  • зрелость (например, стабильность, качество документации)
  • масштабируемость (например, производительность, удобная абстракция)
  • основные цели

Кроме того, каковы примеры реальных сайтов / веб-приложений, использующих эти платформы?

Большое спасибо.

Фил
источник
2
+1 Хотя я не знаю Хаскелла, это может быть интересно.
Anto
Существуют ли бесплатные хосты для сайтов на Haskell? Какими будут требования к серверу?
Арманд
@Alison - я бы предположил, что нет, поскольку вам, скорее всего, понадобится VPS или выделенный сервер.
Джетти
Вы можете использовать бесплатный уровень на Amazon EC2, я думаю, для хостинга
Zachary K
Я действительно надеялся, что некоторые люди будут говорить о других фреймворках (чтобы мы могли сравнить)
Zachary K

Ответы:

10

Я могу говорить только от имени Йесода, так как я до сих пор пробовал только Snap и Йесод, но быстро застрял с Йесодом.

Основная причина для Yesod, вероятно, заключается в том, что он предоставляет полную платформу с растущим числом функций, таких как

  • Типизированные безопасные языки шаблонов для HTML, CSS и JavaScript
  • Typesafe Routing
  • Расщепление на подсайты
  • Интеграция базы данных с постоянным
  • Готовые сайты для повторяющихся проблем: Авторизация, Статика, CRUD ...

На мой взгляд, большая сила Yesod - это компиляция его динамического содержимого, например сайтов HTML. Шаблон сайта анализируется с помощью Template Haskell и преобразуется в структуру данных Haskell. Таким образом, шаблон не анализируется каждый раз, когда пользователь вызывает его. На мой взгляд, это значительное преимущество в скорости по сравнению с PHP, а также с Snap, который использует не скомпилированные шаблоны, а также очень помогает в масштабируемости.

По словам создателя, Yesod скоро приближается к версии 1.0, и на нем уже есть несколько веб-сайтов. Я думаю, что главная цель Yesod - предоставить полную, безопасную для типов среду веб-приложений, которая удовлетворит все ваши потребности, а затем и некоторые другие.

Кроме того, Yesod интегрируется с WAI-интерфейсом и отлично работает с чистым Warp от Haskell-сервера.

Lanbo
источник