Данная статья, утверждая Python быть всем ученый нуждается , в основном говорит: Первый прототип все в Python. Тогда, когда необходимо ускорить часть, используйте БОЛЬШОЙ ГЛОТОК и переведите эту часть в C.
Прежде всего , отказ от ответственности: я никогда не занимался веб-разработкой на Haskell, поэтому я не говорю по опыту.
Если вы посмотрите на Web-категорию на Hackage, там есть много пакетов, связанных с Интернетом. .
Я думаю, что большинство веб-приложений Haskell запускается на настраиваемом сервере (возможно, с использованием Apache mod_proxy
или расширенной маршрутизации запросов IIS в качестве внешнего интерфейса). Однако есть также некоторые привязки FastCGI.
Самая известная инфраструктура веб-сервера / фреймворка / хранилища данных Haskell - это Happstack , которая интересна по нескольким причинам, наиболее очевидной из которых является то, что он хранит все свое состояние в память и не использует реляционную базу данных.
Существует множество веб-фреймворков. Посмотрите в категории Web: http://hackage.haskell.org/packages/archive/pkg-list.html#cat:web
Для создания шаблонов HStringTemplate, кажется, является лидером бренда: http : //hackage.haskell.org/package/HStringTemplate
Статически связанные двоичные файлы, на которых запущен свой собственный веб-сервер (например, сервер happystack или один из других Веб-серверы Haskell), двоичные файлы Haskell, общающиеся с Apache, ... практически все возможные комбинации.
Нет. И вы получите более надежные гарантии, что приложение не t неисправен благодаря типовой системе.
hpaste - это простая демонстрация Happystack. Весь бизнес Tupil.com - это веб-приложения на Haskell. В прошлом году Deutsche Bank выступил на CUFP с докладом о своих внутренних веб-фреймворках Haskell (на основе Happstack).
Во-первых, черт возьми, если эта "любовная" ссылка не была одной из самых забавных вещей!
Теперь, пока я отправил ответ по другой ссылке, я не особо задумывался происходит в веб-мире Haskell. У вас есть Happstack и, возможно, еще несколько фреймворков, которые никуда не денутся. Тогда у вас есть FastCgi.
Если вам нравится я, то FastCgi, вероятно, достаточно для большинства ваших нужд. Я обнаружил, что у большинства клиентов нет проблем с масштабированием (и, кроме того, он достаточно хорош для ребят из Ruby, верно).
Если FastCgi не ваша скорость ... ну, возможно, рыскание или подъем (Erlang и Scala соответственно) заслуживают внимания.
I have done real production web applications in Haskell. Here is the stack I used:
The whole web application is a single haskell program, compiled to native code ghc. I wrote the code to do request routing (and reverse routing) by hand.
I have used Happstack to create a simple webapp/webservice for our local intranet.
There are just 169 lines of Haskell code, all in Main.hs
, which define the server. The rest is Javascript for presentation, and some Python for testing.
It is open source, you can check it out on GitHub, and maybe use it as a starting point.