Web/Framework Interfaces: Difference between revisions
m (Adding info box) |
mNo edit summary |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 8: | Line 8: | ||
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-". | 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-". | ||
{| class="wikitable" | |||
! License | |||
| BSD3 | |||
|- | |||
! Author | |||
| Wang, Jinjing | |||
|- | |||
! Maintainer | |||
| Wang, Jinjing <nfjinjing@gmail.com> | |||
|- | |||
! Package & repositories | |||
| [http://hackage.haskell.org/package/hack Hackage] - [http://github.com/nfjinjing/hack Github] | |||
|} | |||
== WAI == | == WAI == | ||
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 | 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 IO|lazy I/O]]. Backends available are currently a simple server, CGI, FastCGI, SCGI and a Warp Server backend. | ||
{| class="wikitable" | |||
! License: | |||
| BSD3 | |||
|- | |||
! Author: | |||
| Michael Snoyman | |||
|- | |||
! Maintainer: | |||
| michael@snoyman.com | |||
|- | |||
! Announcement: | |||
| [http://www.haskell.org/pipermail/haskell-cafe/2010-March/074142.html Haskell-Cafe] | |||
|- | |||
! Package & repositories | |||
| [http://hackage.haskell.org/package/wai Hackage] - [https://github.com/yesodweb/wai Github] | |||
|} |
Latest revision as of 12:02, 19 April 2024
Below are high-level abstractions of various Haskell web frameworks, called interfaces, because they provide a generic interface with various frameworks.
Hack
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
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 |