Je voudrais utiliser Haskell plus pour mes projets, et je pense que si je peux commencer à l'utiliser pour les applications web, cela aidera vraiment cette cause. J'ai essayé des happs une ou deux fois mais j'ai eu du mal à décoller. Y a-t-il des frameworks plus simples/plus conventionnels (plus proches de la lampe) que je peux utiliser ou devrais-je simplement donner un autre essai?Quel est le moyen le plus simple d'écrire des applications web dans Haskell?
Répondre
Voici a list of web related blog posts about Haskell from the wiki.
En outre, la prochaine grande infrastructure Web Haskell est WASH.
Et il y a un Apple webobjects based domain specific language.
Vous pouvez utiliser CGI et une bibliothèque de combinateurs (x) html, comme indiqué dans l'article Haskell Web Development du wiki. Un aperçu plus large des bibliothèques, des frameworks, etc. pour la programmation web dans haskell peut être trouvé dans Practical web programming in Haskell.
Si vous décidez d'aller avec Happs vous voudrez probablement à la caisse cet excellent tutoriel commandé par exemple qui est développé comme une application Happs: HApps Tutorial
Les meilleurs outils à partir de 2011 sont:
La communauté de développement web autour de Haskell a été en plein essor sur la concurrence entre ces communautés.
Les auteurs comparent même leurs cadres ici: Comparing Haskell's Snap and Yesod web frameworks
Yessod serait un bon choix, vous pouvez trouver en ligne Yesod Web Framework Book O'Reilly.
Le Web Application Interface, WAI, est un très bon calque de base sur lequel vous pouvez créer des applications. Il y a beaucoup de bonnes bibliothèques sur le hackage pour le routage, le template, etc. qui fonctionnent bien en combinaison avec WAI, ce que je fais.
J'ai développé MFlow avec l'idée du rapport fonctionnalité/code le plus élevé. MFlow est fait sans autre cadre en tête, mais pour utiliser Haskell à la limite pour résoudre les problèmes des applications web afin de réduire drastiquement le bruit et le taux d'erreur dans la programmation web. La navigation complète dans une application MFlow est sûre au moment de la compilation. Il utilise des bibliothèques Web standard: WAI, formlets, stm, blaze-html ..
Jugez-en par vous-même: Ceci est une application complète avec trois pages. En boucle, il demande deux nombres et montre la somme. vous pouvez appuyer sur le bouton de retour à votre guise:
module Main where
import MFlow.Wai.Blaze.Html.All
main= do
addMessageFlows [("sum", transient . runFlow $ sumIt)]
wait $ run 8081 waiMessageFlow
sumIt= do
setHeader $ html . body
n1 <- ask $ p << "give me the first number" ++> getInt Nothing
n2 <- ask $ p << "give me the second number" ++> getInt Nothing
ask $ p << ("the result is " ++ show (n1 + n2)) ++> wlink() << p << "click here"
L'état peut être rendu persistant avec une petite modification.
http://hackage.haskell.org/package/MFlow
Il y a des exemples ici: http://haskell-web.blogspot.com.es/
- 1. Quel est le meilleur moyen de déployer des applications Web?
- 2. Quel est le moyen le plus simple d'offrir/de consommer des services web en jython?
- 3. Quel est le moyen le plus simple de récupérer une page Web en C?
- 4. Quel est le moyen le plus simple d'ajouter des raccourcis clavier globaux dans Windows?
- 5. Quel est le moyen le plus simple d'implémenter une fonction de recherche sur un site Web?
- 6. Quel est le meilleur, uploader le plus simple fichier ajax?
- 7. Quel est le moyen le plus simple d'utiliser le code source C dans une application Java?
- 8. Quel est le moyen le plus simple de stocker des données d'un programme Java à MySQL?
- 9. Quel est le moyen le plus simple d'exporter des données depuis une application google app engine?
- 10. Quel est le moyen le plus simple d'ajouter des informations de version automatique aux tables MSSQL?
- 11. Quel est le moyen le plus simple d'intégrer PayPal dans un système d'enregistrement?
- 12. Quel est le moyen le plus simple de vérifier qu'une connexion réseau est disponible?
- 13. NSMutableArray. Quel est le moyen le plus rapide pour le convertir en un tableau C simple?
- 14. Quel est le moyen le plus simple d'utiliser la commande HEAD de HTTP en PHP?
- 15. J'ai déjà installé PHP, quel est le moyen le plus simple (le meilleur) pour installer GDLib?
- 16. Quel est le moyen le plus simple de découper de gros fichiers XAML dans mon application?
- 17. Dans SharePoint, quel est le moyen le plus simple de créer un fichier "schema.xml" personnalisé?
- 18. Quel est le moyen le plus simple de faire de la négation dans les déclencheurs?
- 19. Quel est le moyen le plus simple de lire un MP3 dans WPF?
- 20. Quel est le moyen le plus simple d'analyser les fichiers binaires dans Cocoa Touch?
- 21. Quel est le système d'exploitation le plus simple disponible?
- 22. Quel est le moyen le plus simple d'avoir une installation LAMP locale pour le développement web sous Mac OS X?
- 23. Quel est le moyen le plus simple d'apprendre le code ActionScript lorsque vous connaissez JavaScript?
- 24. Quel est le moyen le plus simple de styler le ScrollViewer en XAML
- 25. Quel est le moyen le plus simple de charger de l'argent sur Internet?
- 26. Quel est le moyen le plus simple de cloner un webservice?
- 27. Quel est le moyen le plus simple d'aligner l'axe Z avec un vecteur?
- 28. Un éditeur pour un objet de données en swing, quel est le moyen le plus simple?
- 29. Quel est le moyen le plus simple de construire Python26.zip pour la distribution intégrée?
- 30. Quel est le moyen le plus rapide pour lire/écrire sur le disque dans .NET?
CGI est très simple, en particulier sur les systèmes exécutant Apache. Vous venez de créer un exécutable qui imprime une page HTML (ou une partie de celle-ci). Vous pouvez analyser la chaîne url (GET) et obtenir des données POST du système à l'aide de variables d'environnement. C'est simple mais construire un système à partir de ces pièces demande du travail. –