Snap (web framework)
![]() | |
Original author(s) | Gregory Collins, Doug Beardsley[1] |
---|---|
Developer(s) | Snap Team |
Initial release | May 2010 |
Stable release | |
Development status | Active |
Written in | Haskell |
Operating system | Cross-platform |
Type | Web framework |
License | BSD License |
Website |
www |
Snap is a simple web development framework written in the Haskell programming language.[3][4] It is used by Silk,[5] JanRain,[6][7] Racemetric,[8] www.lpaste.net,[9] SooStone Inc, and Group Commerce. Snap is also used as a lightweight, standalone Haskell server. The popular static site generator Hakyll uses Snap for its preview mode.
Overview
The Snap framework comprises:
- snap-core,[10] a generic Haskell web server API.
- snap-server,[11] a fast[12] HTTP server that implements the snap-core interface.
- Heist, 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, a high-level system for building modular web applications.
- Built-in snaplets for templating, session management, and authentication.
- Third party snaplets for features such as 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.
Snap runs on both Windows and *nix platforms. Snap uses the Iteratee I/O model,[13] As of version 1.0, its i/o is implemented with io-streams.
Other Haskell web frameworks
References
- ↑ Snap team
- ↑ http://snapframework.com/blog/2016/08/07/snap-1.0-released
- ↑ Collins, Gregory; Beardsley, Doug (Jan–Feb 2011). "The Snap Framework: A Web Toolkit for Haskell" (PDF). IEEE Internet Computing. 15 (1): 84–87. doi:10.1109/mic.2011.21.
- ↑ Biscardi, Chris (2014). Snap for Beginners. Gumroad.
- ↑ "FP Complete Case Study - Silk -- Structured Content Management" (PDF). FP Complete. Retrieved 2014-03-02.
- ↑ "FP Complete Case Study - JanRain -- User Management System" (PDF). FP Complete. Retrieved 2014-03-02.
- ↑ "Blog tutorial on Snap and PostgreSQL". JanRain. Retrieved 2014-03-02.
- ↑ "Haskell Snap App in Production". Luke Hoersten. Retrieved 2014-03-02.
- ↑ "lpaste source code". Chris Done. Retrieved 2014-03-02.
- ↑ "snap-core". www.hackage.org.
- ↑ "snap-server". www.hackage.org.
- ↑ "Snap 0.3 benchmarks with GHC 7.0.1". www.snapframework.com. Retrieved 2014-03-02.
- ↑ "InfoQ Interview: Gregory Collins on High Performance Web Apps with Snap and Haskell". Sep 12, 2011.
External links
This article is issued from Wikipedia - version of the 9/22/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.