Qu'est-ce que l'écosystème pour Haskell, développement web?
Inspiré par cette question et une récente affaire, je me demandais ce que Haskell développement web.
- Sont là tout Haskell web des cadres ou des moteurs de template?
- Comment accueillir un Haskell travaux sur le site, est-il adapté serveurs web?
- Haskell est trop complexe pour que l'habitude rapide de développement et de prototypage à base de flux de travail souvent utilisé dans le développement web?
- Sont là quelques exemples de Haskell des applications web?
- Je ne pense pas que c'est un doublon. L'autre question se pose au sujet de l'apprentissage Haskell comme première langue, pour faire du développement web. Cette question est précisément en demandant à ce que des cadres, des moteurs de template et de serveurs web existent. Peut-être cette question peut être retravaillé?
- C'est exactement pourquoi j'ai bifurqué hors de l'autre question, qui est principalement d'obtenir des réponses à des recommandations à apprendre d'autres langues. Cette question a une approche différente, plus précisément le web des projets dans l'écosystème pour Haskell. :-/
- D'accord. Le vote pour la rouvrir.
- Je voudrais que cette ouvert
- J'ai retravaillé votre question, un peu. Plus précisément, j'ai fait le titre de la plus distincte de la question.
- Merci! Espérons que ce qui distingue un peu mieux.
- Les puces font de ce son "développement de composants et de bibliothèques", que les dev de l'écosystème. Si cette question vise à englober l'écosystème, ne devrait-elle pas entraîner: tests, intégration continue, de la documentation, de la construction, le déploiement, etc, etc? Il ya de nombreux aspects d'un "dev" écosystème de ce que vous pourriez être spécifiquement à la recherche ou à exclure. Peut-être que ma définition de l'écosystème est plus large que la vôtre si.
- Je voudrais savoir si il est possible d'écrire les sites web en Haskell à tous. Les tests, le déploiement, etc. des solutions serait la cerise sur le gâteau, n'hésitez pas à les ajouter dans une réponse. 🙂
- A voté pour rouvrir trop. Quiconque voudrait avoir un jusqu'à ce jour de réponse à cette question ?
- combien de rouvre sont nécessaires ?
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, un avertissement: je n'ai jamais fait de toute Haskell développement web, donc je ne parle pas de l'expérience.
Si vous regardez la Catégorie Web sur Hackage, il ya beaucoup de web-paquets.
Je pense que la plupart des Haskell web de l'exécution de l'application sur un serveur personnalisé (éventuellement à l'aide d'Apache
mod_proxy
ou IIS Avancées de Routage des demandes comme un front-end). Cependant, il y a aussi quelques FastCGI liaisons.Les plus éminents Haskell webserver/cadre/datastorage infrastruction est Happstack, ce qui est intéressant pour plusieurs raisons, la plus évidente étant que il stocke tous ses état en mémoire et de ne pas utiliser une base de données relationnelle.
Une autre plus récente du serveur web interface est hack, que je ne connais pas trop, sauf que le 1 minute tutoriel semble intéressant.
Il y a beaucoup plus de serveurs web/cadres en Haskell, mais ces deux sont seulement ceux que je connais du haut de ma tête.
J'ai fait réel de la production d'applications web en Haskell. Voici la pile, j'ai utilisé:
L'ensemble de l'application web est un seul haskell programme compilé en code natif de ghc. J'ai écrit le code pour faire la demande de routage (et l'inverse de routage) à la main.
J'ai utilisé Happstack pour créer une webapp/webservice pour notre intranet local.
Il y a juste 169 lignes de code Haskell, le tout dans
Principal.hs
, qui définissent le serveur. Le reste est du Javascript pour la présentation, et quelques Python pour les tests.Il est open source, vous pouvez le vérifier sur GitHub, et peut-être utiliser comme un point de départ.
Il existe de nombreux frameworks web. Rechercher dans la catégorie Web: http://hackage.haskell.org/packages/archive/pkg-list.html#cat:web
Pour gabarits, HStringTemplate semble être la marque leader: http://hackage.haskell.org/package/HStringTemplate
Lié statiquement binaires de l'exécution de leur propre serveur web (par exemple, happstack-serveur ou l'une de l'autre Haskell serveurs web), Haskell binaires de parler à Apache, ... à peu près toutes les combinaisons que vous pourriez penser.
Pas. Et vous aurez plus de garanties de l'application n'est pas défectueux grâce au système de type.
hpaste est une simple démo pour happstack. Tupil.com toute entreprise est Haskell web apps. La Deutsche Bank a donné une conférence à CUFP l'année dernière sur leur Haskell frameworks web (basé sur happstack).
D'abord, putain, si cette "affaire" lien n'était pas l'une des choses les plus drôles que jamais!
Maintenant, alors que j'ai posté une réponse sur l'autre lien, je ne pense pas que beaucoup de choses se passe dans Haskell web de la terre. Vous avez Happstack et peut-être quelques autres cadres qui ne semble pas aller n'importe où. Et puis, vous avez FastCgi.
Si vous êtes comme moi, alors FastCgi est probablement suffisant pour la plupart de vos besoins. La plupart des clients, je trouve, n'ont pas vraiment de l'échelle des problèmes (et, d'ailleurs, son assez bon pour le Ruby gens, à droite).
Si FastCgi n'est pas votre vitesse de...eh bien, peut-être le pian ou l'ascenseur (Erlang et Scala, respectivement) valent le coup d'oeil.