Personal tools

Web/Cloud

From HaskellWiki

< Web(Difference between revisions)
Jump to: navigation, search
(OpenShift: quickstarts)
(OpenShift)
(2 intermediate revisions by one user not shown)
Line 8: Line 8:
 
{| class="wikitable"
 
{| class="wikitable"
 
! GHC version:
 
! GHC version:
| 7.6.3
+
| 7.6.3 / 7.8.2
 
|-
 
|-
 
! Author:
 
! Author:
Line 20: Line 20:
 
|}
 
|}
   
The cartridge comes in several flavours, with just the network package or a pre-installed framework:
+
The cartridge comes in several flavours, with just the network package (GHC 7.8.2) or a pre-installed framework (GHC 7.6.3 *):
   
 
{| class="wikitable"
 
{| class="wikitable"
Line 28: Line 28:
 
| [http://www.accursoft.com/cartridges/network.yml manifest]
 
| [http://www.accursoft.com/cartridges/network.yml manifest]
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17224 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fnetwork.yml deploy]
 
|-
 
|-
 
| Yesod
 
| Yesod
 
| [http://www.accursoft.com/cartridges/yesod.yml manifest]
 
| [http://www.accursoft.com/cartridges/yesod.yml manifest]
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17304 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fyesod.yml deploy]
 
|-
 
|-
 
| Snap
 
| Snap
 
| [http://www.accursoft.com/cartridges/snap.yml manifest]
 
| [http://www.accursoft.com/cartridges/snap.yml manifest]
 
| [https://www.openshift.com/quickstarts/snap quickstart]
 
| [https://www.openshift.com/quickstarts/snap quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17305 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fsnap.yml deploy]
 
|-
 
|-
 
| Happstack
 
| Happstack
 
| [http://www.accursoft.com/cartridges/happstack.yml manifest]
 
| [http://www.accursoft.com/cartridges/happstack.yml manifest]
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17306 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fhappstack.yml deploy]
 
|-
 
|-
 
| MFlow
 
| MFlow
 
| [http://www.accursoft.com/cartridges/mflow.yml manifest]
 
| [http://www.accursoft.com/cartridges/mflow.yml manifest]
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17307 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fmflow.yml deploy]
 
|-
 
|-
 
| Scotty
 
| Scotty
 
| [http://www.accursoft.com/cartridges/scotty.yml manifest]
 
| [http://www.accursoft.com/cartridges/scotty.yml manifest]
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
| [https://openshift.redhat.com/app/console/application_type/quickstart!17303 deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fscotty.yml deploy]
 
|}
 
|}
  +
  +
<small>* GHC 7.8 requires dynamic libraries for Template Haskell and Quasiquoting. OpenShift gears default to a 1Gb quota, which is insufficient for a full web framework with two copies (dynamic and static) of every library.</small>
   
 
== Heroku ==
 
== Heroku ==

Revision as of 13:01, 30 April 2014

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

PaaS (platform as a service) cloud providers generally limit you to a fixed technology stack. However, OpenShift and Heroku allow third-party extensions, which can be used to support Haskell.

1 OpenShift

GHC version: 7.6.3 / 7.8.2
Author: Gideon Sireling
Home page: https://github.com/accursoft/Haskell-Cloud
Documentation: https://github.com/accursoft/Haskell-Cloud/blob/master/README.md

The cartridge comes in several flavours, with just the network package (GHC 7.8.2) or a pre-installed framework (GHC 7.6.3 *):

Framework Cartridge QuickStart Deploy
network manifest quickstart deploy
Yesod manifest quickstart deploy
Snap manifest quickstart deploy
Happstack manifest quickstart deploy
MFlow manifest quickstart deploy
Scotty manifest quickstart deploy

* GHC 7.8 requires dynamic libraries for Template Haskell and Quasiquoting. OpenShift gears default to a 1Gb quota, which is insufficient for a full web framework with two copies (dynamic and static) of every library.

2 Heroku

GHC version: 7.4.1
Author: Brian McKenna
Home page: https://github.com/puffnfresh/heroku-buildpack-haskell
Documentation: https://github.com/puffnfresh/heroku-buildpack-haskell/blob/master/README.md

3 See also