Software:Snap (web framework)
From HandWiki
Short description: Web development framework in Haskell
Original author(s) | Gregory Collins, Doug Beardsley[1] |
---|---|
Developer(s) | Snap Team |
Initial release | May 2010 |
Stable release | 1.1.3.0[2]
/ May 7, 2020 |
Repository | Snap Repository |
Written in | Haskell |
Operating system | Cross-platform |
Type | Web framework |
License | BSD License |
Website | snapframework |
Snap is a web development framework written in the Haskell programming language.[3][4]
Overview
The Snap framework consists of the following:
- snap-core,[5] a generic Haskell web server API.
- snap-server,[6] a fast[7] HTTP server that implements the snap-core interface.
- Heist,[8] an HTML-based templating system for generating pages that allows you to bind Haskell functionality to HTML tags for a clean separation of view and backend code, much like Lift's snippets. Heist is completely self-contained and can be used independently.
- Snaplets,[9] a high-level system for building modular web applications.
- Built-in snaplets for templating, session management, and authentication.
- Third party snaplets for features including file uploads, database connectivity (PostgreSQL, MongoDB, etc.), generation of JavaScript from Haskell code, and more.
- The Snap monad for stateful access to HTTP requests and responses.[10]
Snap runs on both Windows NT and Unix-like platforms. Snap uses the Iteratee I/O model,[11] As of version 1.0, its i/o is implemented with io-streams.
Usage
Snap is used by Silk,[12] JanRain,[13][14] Racemetric,[15] www.lpaste.net,[16][17] SooStone Inc, and Group Commerce. Snap is also used as a lightweight, standalone Haskell server. The static site generator Hakyll uses Snap for its preview mode.[18]
Other Haskell web frameworks
- Yesod (web framework)
- Scotty[19]
- Spock[20]
- MFlow[21]
- Miso[22]
References
- ↑ Team, The Snap Framework. "Snap: A Haskell Web Framework: About". http://snapframework.com/about.
- ↑ Team, The Snap Framework. "Snap: A Haskell Web Framework: Github: Release: Snap 1.1.3.0". https://github.com/snapframework/snap/releases/tag/1.1.3.0.
- ↑ Collins, Gregory; Beardsley, Doug (Jan–Feb 2011). "The Snap Framework: A Web Toolkit for Haskell". IEEE Internet Computing 15 (1): 84–87. doi:10.1109/mic.2011.21. http://steve.vinoski.net/pdf/IC-Snap_Framework.pdf.
- ↑ Biscardi, Chris (2014). Snap for Beginners. Gumroad. https://gumroad.com/l/qWMnO.
- ↑ "snap-core". www.hackage.org. http://hackage.haskell.org/package/snap-core.
- ↑ "snap-server". www.hackage.org. http://hackage.haskell.org/package/snap-server.
- ↑ "Snap 0.3 benchmarks with GHC 7.0.1". www.snapframework.com. http://snapframework.com/blog/2010/11/17/snap-0.3-benchmarks.
- ↑ Team, The Snap Framework. "Snap: A Haskell Web Framework: Heist Tutorial". http://snapframework.com/docs/tutorials/heist.
- ↑ Team, The Snap Framework. "Snap: A Haskell Web Framework: Snaplet Directory". http://snapframework.com/snaplets.
- ↑ "Snap.Core". http://hackage.haskell.org/package/snap-core-0.9.6.0/docs/Snap-Core.html#t:Snap.
- ↑ "InfoQ Interview: Gregory Collins on High Performance Web Apps with Snap and Haskell". Sep 12, 2011. http://www.computer.org/portal/web/computingnow/content?g=53319&type=article&urlTitle=gregory-collins-on-high-performance-web-apps-with-snap-and-haskell.
- ↑ "FP Complete Case Study - Silk -- Structured Content Management". FP Complete. https://www.fpcomplete.com/wp-content/uploads/2013/05/Silk%20case%20study.pdf.
- ↑ "FP Complete Case Study - JanRain -- User Management System". FP Complete. https://www.fpcomplete.com/wp-content/uploads/2013/05/janrain%20case%20study.pdf.
- ↑ "Blog tutorial on Snap and PostgreSQL". JanRain. http://janrain.com/blog/tutorial-building-a-sample-application-with-haskell-snap-postgresql-and-the-postgresql-simple-snaplet/.
- ↑ "Haskell Snap App in Production". Luke Hoersten. http://blog.hoersten.co/post/76773146365/haskell-snap-app-in-production.
- ↑ "New paste". http://www.lpaste.net/.
- ↑ "lpaste source code". Chris Done. https://github.com/chrisdone/lpaste/blob/master/hpaste.cabal#L102.
- ↑ "Hakyll - Home". http://jaspervdj.be/hakyll/.
- ↑ "scotty: Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp". http://hackage.haskell.org/package/scotty.
- ↑ "Spock: Another Haskell web framework for rapid development". http://hackage.haskell.org/package/Spock.
- ↑ "MFlow: stateful, RESTful web framework". http://hackage.haskell.org/package/MFlow.
- ↑ "miso: A tasty Haskell front-end framework". http://hackage.haskell.org/package/miso.
External links
Original source: https://en.wikipedia.org/wiki/Snap (web framework).
Read more |