web-applications - haskell web framework
¿Cuál es la forma más sencilla de escribir aplicaciones web en Haskell? (8)
Si decides usar HApps, probablemente quieras consultar este excelente tutorial basado en ejemplos que se está desarrollando como una aplicación de HApps : Tutorial de HApps
Me gustaría utilizar Haskell más para mis proyectos, y creo que si puedo empezar a usarlo para aplicaciones web, realmente ayudaría a esa causa. He intentado happs una o dos veces, pero tuve problemas para despegar. ¿Hay frameworks más simples / más convencionales (más como lámpara) que pueda usar o debería dar happs otra vez?
Desarrollé MFlow con la idea de la relación de funcionalidad / tamaño de código más alta. MFlow está hecho sin otro marco en mente, pero usa Haskell al límite para resolver los problemas de las aplicaciones web para reducir drásticamente el ruido y la proporción de errores en la programación web. La navegación completa en una aplicación MFlow es segura en tiempo de compilación. Utiliza bibliotecas web estándar: WAI, formlets, stm, blaze-html.
Juzgue usted mismo: esta es una aplicación completa con tres páginas. En un ciclo, pide dos números y muestra la suma. puede presionar el botón Atrás como lo desee:
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"
El estado puede hacerse persistente con una pequeña modificación.
http://hackage.haskell.org/package/MFlow
Aquí hay ejemplos: http://haskell-web.blogspot.com.es/
Aquí hay una lista de blogs relacionados con la web sobre Haskell en la wiki .
Además, el próximo gran marco web de Haskell es WASH .
Y hay un lenguaje específico de dominio basado en webobjects de Apple .
La Interfaz de aplicación web , WAI, es una capa base muy agradable sobre la que puedes construir aplicaciones. Hay muchas bibliotecas interesantes en hackage para enrutamiento, creación de plantillas, etc. que funcionan bien en combinación con WAI, que es lo que hago.
Puede usar CGI y una biblioteca combinatoria (x) html, como se detalla en el artículo de Haskell Web Development de la wiki. Puede encontrar una descripción más amplia de bibliotecas, marcos, etc. para la programación web en haskell en la programación web práctica en Haskell .
Yesod sería una buena opción, puede encontrar en línea Yesod Web Framework Book de O''Reilly.
Las mejores herramientas a partir de 2011 son:
La comunidad de desarrollo web de Haskell ha prosperado en la competencia entre estas comunidades.
Los autores incluso comparan sus marcos aquí: Comparación de los marcos web Snap y Yesod de Haskell