Есть несколько веб-фреймворков для Haskell, такие как Happstack , Snap и Yesod , и, возможно, еще несколько.
В чем они отличаются друг от друга? Например:
- функции (например, только сервер или клиентские скрипты, легкая поддержка различных типов баз данных)
- зрелость (например, стабильность, качество документации)
- масштабируемость (например, производительность, удобная абстракция)
- основные цели
Кроме того, каковы примеры реальных сайтов / веб-приложений, использующих эти платформы?
Большое спасибо.
Ответы:
Я могу говорить только от имени Йесода, так как я до сих пор пробовал только Snap и Йесод, но быстро застрял с Йесодом.
Основная причина для Yesod, вероятно, заключается в том, что он предоставляет полную платформу с растущим числом функций, таких как
На мой взгляд, большая сила Yesod - это компиляция его динамического содержимого, например сайтов HTML. Шаблон сайта анализируется с помощью Template Haskell и преобразуется в структуру данных Haskell. Таким образом, шаблон не анализируется каждый раз, когда пользователь вызывает его. На мой взгляд, это значительное преимущество в скорости по сравнению с PHP, а также с Snap, который использует не скомпилированные шаблоны, а также очень помогает в масштабируемости.
По словам создателя, Yesod скоро приближается к версии 1.0, и на нем уже есть несколько веб-сайтов. Я думаю, что главная цель Yesod - предоставить полную, безопасную для типов среду веб-приложений, которая удовлетворит все ваши потребности, а затем и некоторые другие.
Кроме того, Yesod интегрируется с WAI-интерфейсом и отлично работает с чистым Warp от Haskell-сервера.
источник