Hay varios marcos web para Haskell como Happstack , Snap y Yesod , y probablemente algunos más.
¿En qué aspectos difieren entre sí? Por ejemplo:
- características (por ejemplo, solo servidor, o también secuencias de comandos del cliente, soporte sencillo para diferentes tipos de bases de datos)
- madurez (por ejemplo, estabilidad, calidad de la documentación)
- escalabilidad (por ejemplo, rendimiento, abstracción práctica)
- objetivos principales
Además, ¿cuáles son ejemplos de sitios web / aplicaciones web del mundo real que usan estos marcos?
Muchas gracias.
Respuestas:
Solo puedo hablar en nombre de Yesod, ya que solo he probado Snap y Yesod hasta ahora, pero rápidamente me quedé con Yesod.
La razón principal de Yesod es probablemente que ofrece un marco completo con un número creciente de características, como
En mi opinión, la gran fortaleza de Yesod es la compilación de sus contenidos dinámicos, por ejemplo, sitios HTML. El sitio de la plantilla se analiza a través de Template Haskell y se convierte en una estructura de datos de Haskell. Por lo tanto, la plantilla no se analiza cada vez que el usuario la llama. En mi opinión, esta es una gran ventaja de velocidad, en comparación con PHP, y también con Snap, que usa plantillas no compiladas, y también ayuda mucho para la escalabilidad.
Yesod se acerca a la versión 1.0 pronto, según su creador, y hay algunos sitios web que ya se están ejecutando. Creo que el objetivo principal de Yesod es ofrecer un marco de aplicaciones web completo y seguro para todos los tipos que satisfaga todas sus necesidades, y algo más.
Además, Yesod se integra con la interfaz WAI y funciona perfectamente con la deformación pura del servidor Haskell.
fuente