Какую веб-платформу Haskell можно использовать для платформы обмена данными и обмена сообщениями HTTP/Websocket?

Просто взгляните на Haskell и веб-фреймворки и задаетесь вопросом, имеет ли смысл использовать отличную функциональность потоков / событий в Haskell для создания платформы для написания приложений HTML5 и REST, предоставляющих HTTP API для данных и WebSocket (возможно, с поддержкой SockJS для соответствующего отката).) API для событий? Похоже, что "большие" веб-фреймворки не поддерживают WebSockets как первоклассного гражданина, хотя, похоже, у них много других дел.

Меня беспокоит использование доступных ядер, что может хорошо сделать Haskell, а также обеспечение легкой интеграции пользователей на стороне сервера для проверки и логики на стороне сервера (возможно, путем встраивания Lua или подобного?). Если бы кто-то написал это на JVM, для такого рода вещей можно было бы использовать поддержку нескольких языков на стороне сервера и множество библиотек.

Я уверен, что люди делают подобные вещи в одноразовом решении для своих собственных приложений, но я думаю о подходе типа PaaS, где можно писать приложения HTML5 с данными (включая правильную синхронизацию для автономного использования). и события "бесплатно" в качестве фундаментальной части платформы. Большая часть логики будет храниться в браузере, но некоторые могут быть запущены на сервере с соответствующими хуками и разумной встраиваемостью (JavaScript не может быть и речи о внедрении интерпретаторов в Haskell, поскольку я только опасно знаком с Haskell в целом),

Частично проблема с Хаскеллом в том, что я не математик. Я не изучал CS в колледже, и я мыслитель творческого типа. Так что многие уроки и документация меня сильно теряют, особенно когда речь идет о математических вещах.

Кто-нибудь уже прошел этот путь? Я опоздал на вечеринку?:)

2 ответа

В прошлом году Грегори Коллинз дал учебное пособие в CUFP по использованию Snap для создания интерактивного веб-сайта чата с использованием длинных опросов (не веб-сокетов). Исходный код здесь.

В отделе веб-сокетов Джаспер ван дер Йеугт написал библиотеку веб- сокетов на Haskell. Он доступен на hackage и поставляется с websockets-snap, который обеспечивает поддержку фреймворка Snap. Также есть wai-websockets, который обеспечивает интеграцию с Warp.

Я считаю, что все основные фреймворки имеют некоторый уровень поддержки веб-сокетов, поэтому все они должны быть справедливым выбором в зависимости от ваших требований. Для Yesod есть пример создания системы чата (с использованием источника событий, а не веб-сокетов), доступного в книге:

http://www.yesodweb.com/book/wiki-chat-example

Другие вопросы по тегам