Snap (web framework)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Snap
64px
Original author(s) Gregory Collins, Doug Beardsley[1]
Developer(s) Snap Team
Initial release May 2010
Stable release 0.13[2] / September 9, 2013 (2013-09-09)
Development status Active
Written in Haskell
Operating system Cross-platform
Type Web framework
License BSD License
Website www.snapframework.com

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

  1. Snap team
  2. http://snapframework.com/blog/2013/09/09/snap-0.13-released
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.

External links