Snap es un framework web para desarrollar aplicaciones web escritas en el lenguaje de programación funcional Haskell . [ 3 ] [ 4 ]
Descripción general
El marco de trabajo Snap consta de lo siguiente:
- snap-core, [ 5 ] una API genérica de servidor web Haskell.
- snap-server, [ 6 ] un servidor HTTP rápido [ 7 ] que implementa la interfaz snap-core.
- Heist, [ 8 ] un sistema de plantillas basado en HTML para generar páginas que permite vincular la funcionalidad de Haskell a etiquetas HTML para una separación clara entre el código de la vista y el código del backend, muy similar a los fragmentos de Lift . Heist es autónomo y puede utilizarse de forma independiente.
- Snaplets, [ 9 ] un sistema de alto nivel para construir aplicaciones web modulares.
- Snaplets integrados para la creación de plantillas, la gestión de sesiones y la autenticación.
- Snaplets de terceros para funciones como la carga de archivos, la conectividad con bases de datos ( PostgreSQL , MongoDB , etc.), la generación de JavaScript a partir de código Haskell y mucho más.
- La mónada Snap para el acceso con estado a las solicitudes y respuestas HTTP. [ 10 ]
Snap se ejecuta tanto en plataformas Windows NT como en plataformas tipo Unix . Snap utiliza el modelo de entrada/salida (E/S) Iteratee , [ 11 ] A partir de la versión 1.0, su E/S se implementa con io-streams .
Uso
Snap es utilizado por Silk, [ 12 ] JanRain, [ 13 ] [ 14 ] Racemetric, [ 15 ] Lee Paste's Financial Blog, [ 16 ] [ 17 ] SooStone Inc y Group Commerce. Snap también se utiliza como un servidor Haskell ligero e independiente. El generador de sitios estáticos Hakyll utiliza Snap para su modo de vista previa. [ 18 ]
Otros frameworks web de Haskell
- Yesod (marco de trabajo web)
- Servant (marco de trabajo web)
- Scotty [ 19 ]
- Spock [ 20 ]
- Flujo de flujo [ 21 ]
- Miso [ 22 ]
Referencias
- ↑ Equipo de Snap Framework. "Snap: Un framework web de Haskell: Acerca de" . Snap Framework.com .
- ↑ "snapframework/snap" . GitHub .com .
- ↑ Collins, Gregory; Beardsley, Doug (enero-febrero de 2011). "The Snap Framework: A Web Toolkit for Haskell" (PDF) . IEEE Internet Computing . 15 (1): 84–87 . Bibcode : 2011IIC....15a..84C . doi : 10.1109/mic.2011.21 .
- ↑ Biscardi, Chris (2014). Snap para principiantes . Gumroad.
- ↑ "snap-core" . Hackage.org .
- ↑ "snap-server" . Hackage.org .
- ↑ "Pruebas de rendimiento de Snap 0.3 con GHC 7.0.1" . Snap Framework.com . Consultado el 2 de marzo de 2014 .
- ↑ Equipo de Snap Framework. "Snap: Un framework web de Haskell: Tutorial de Heist" . Snap Framework.com .
- ↑ Equipo de Snap Framework. "Snap: Un framework web de Haskell: Directorio de Snaplets" . Snap Framework.com .
- ↑ "Snap.Core" . Hackage.org .
- ↑ "Entrevista de InfoQ: Gregory Collins sobre aplicaciones web de alto rendimiento con Snap y Haskell" . 12 de septiembre de 2011.
- ↑ "Estudio de caso de FP Complete – Silk – Gestión de contenido estructurado" (PDF) . FP Complete . Consultado el 2 de marzo de 2014 .
- ↑ "Estudio de caso de FP Complete – JanRain – Sistema de gestión de usuarios" (PDF) . FP Complete . Consultado el 2 de marzo de 2014 .
- ↑ "Tutorial de blog sobre Snap y PostgreSQL" . JanRain . Consultado el 2 de marzo de 2014 .
- ↑ Hoersten, Luke. "Aplicación Haskell Snap en producción" . Recuperado el 2 de marzo de 2014 .
- ↑ "Lee Paste" . Blog financiero de Lee Paste .
- ↑ Hecho, Chris. "lpaste código fuente" . GitHub . Consultado el 2 de marzo de 2014 .
- ↑ Van der Jeugt, Jasper. "Hakyll" . JasperVdJ.be . Consultado el 9 de noviembre de 2024 .
- ↑ "scotty: marco web de Haskell inspirado en Sinatra de Ruby, que utiliza WAI y Warp" . Hackage.org .
- ↑ "Spock: Otro framework web de Haskell para el desarrollo rápido" . Hackage.org .
- ↑ "MFlow: marco web RESTful con estado" . Hackage.org .
- ↑ "miso: Un sabroso framework front-end de Haskell" . Hackage.org .
Enlaces externos
- Sitio web oficial
- Snap Framework en GitHub
- marcos de trabajo web
- Software libre programado en Haskell
- Software que utiliza la licencia BSD.