Могу ли я написать компоненты на Haskell для использования на сайте Django? - PullRequest
5 голосов
/ 02 октября 2009

У меня есть идея для веб-службы, но я очень новичок в веб-программировании. Джанго выглядит великолепно и как что-то, что я могу быстро подобрать. У меня большой опыт работы на Haskell (и очень мало на python), и я хотел бы иметь возможность начать писать некоторые вещи, не связанные с сетью, на моем любимом языке. Но, конечно, я не хочу этого делать, если код haskell не будет пригоден для использования, если я использую django.

Я смотрел на несколько веб-фреймворков на Haskell: hApps выглядит слишком сложным и недокументированным, turbinado выглядит доступным, но недокументированным и т. Д. И я думаю, что использую широко используемый фреймворк, такой как django, и имею доступ к большому количеству кода, который Я могу просто подключить, мне очень поможет. Но я очень открыт для того, чтобы услышать о других идеях по использованию фреймворков или о других возможностях, которые я должен использовать Haskell в некотором роде.

Ответы [ 5 ]

4 голосов
/ 02 октября 2009

Это зависит от того, что вы подразумеваете под «веб-сервисом».

Если вы имеете в виду типичное веб-приложение / веб-сайт, вам понадобится простой интерфейс с базой данных, генерация HTML, легкая обработка HTTP, сеансы и обработка форм. Для этого вам действительно нужен приличный веб-фреймворк.

Нет хороших веб-фреймворков для Haskell. (При вынесении этого суждения я учитываю такие факторы, как документация, сообщество, подход «вероятность того, что от него не откажутся в год за более новый, более блестящий подход» и т. Д.).

Если вы имеете в виду что-то гораздо менее "вебби", например сервис, который возвращает картографические данные и не нуждается в большинстве этих функций, вы можете получить что-то вроде Hack или даже Network.CGI , чтобы предоставить вам базовый HTTP интерфейс, на котором вы будете строить свой сервис, работающий с CGI / FastCGI. Если вам нужен динамический веб-сайт, вы можете использовать что-то вроде Django только для этого бита.

Вы также можете написать автономные исполняемые файлы на Haskell, которые вызываются из кода Django. Но прямое взаимодействие с Python <-> на Haskell вряд ли возможно / практично.

3 голосов
/ 02 октября 2009

Если вы просто создаете веб-сервис, вы можете написать на Haskell программы cgi или fastcgi для обработки вызовов веб-сервиса.

1 голос
/ 02 октября 2009

Перейти к F # и проверить NDjango - это порт Django, написанный на F #. Полное раскрытие: NDjango - мой проект www.ndjango.com

1 голос
/ 02 октября 2009

Узнайте Python, вы обнаружите, что он имеет много функциональных возможностей. Его легко подобрать и очень приятно.

Хороший выбор с Джанго.

0 голосов
/ 14 июня 2017

Если вы хотите, чтобы Haskell напрямую общался с базой данных, вам придется изменить сценарий миграции базы данных Django, чтобы он также генерировал код модели Haskell, используя такую ​​библиотеку, как Yesod's Persistent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...