Web/Framework Interfaces

From HaskellWiki
Haskell Web Development

Software:
Servers - Libraries - Frameworks
Deploy - Cloud
Interfaces to frameworks
Databases and Persistence
Testing and Verification
Content Management

Community & Research:
Forums and Discussion
Literature (research, talks and blogs)
Existing Haskell web applications
Ongoing projects and ideas

Below are high-level abstractions of various Haskell web frameworks, called interfaces, because they provide a generic interface with various frameworks.

Hack[edit]

Hack is a simple interface for applications. Based on Ruby's Rack, it presents a very low barrier to entry. Unlike WAI, it uses lazy bytestrings for request and response bodies, making it easier to use for some. Many backends are available, for numerous backends; simply search hackage for "hack-handler-".

License BSD3
Author Wang, Jinjing
Maintainer Wang, Jinjing <nfjinjing@gmail.com>
Package & repositories Hackage - Github

WAI[edit]

The WAI (Web Application Interface) is designed to be a type-safe and performant interface. Type safety is achieved by having data types such as RequestHeader, ResponseHeader, HttpVersion, as opposed to simply using Strings or ByteStrings. Performance is achieved by using an enumerator interface, allowing constant-space response construction without needing lazy I/O. Backends available are currently a simple server, CGI, FastCGI, SCGI and a Warp Server backend.

License: BSD3
Author: Michael Snoyman
Maintainer: michael@snoyman.com
Announcement: Haskell-Cafe
Package & repositories Hackage - Github