Jeff
Jeff

Reputation: 13199

Considering an Erlang web framework to learn and use in production

I’ve started learning Erlang a few days ago and it’s definitely a very interesting language and very suitable for web development (back end at least). I am going to experiment and eventually settle with one Erlang web framework to use for my next project. Since Erlang is “new” is kind of hard to decide which framework to use (i.e. lack of documentations and blog posts). So far my googleing has returned me 3 results and I am wondering anyone who has experience in Erlang (especially Erlang web development) please comment on the pros and cons on each framework and add any missing frameworks.

Project requirement:

  1. Web application
  2. Database
  3. HTTPs
  4. Storing files (e.g. images)
  5. PDF manipulation
  6. Dynamic logic comparison (e.g. LHS == RHS etc)

Erlang web framework:

  1. Nitrogen (preferred so far)
  2. Erlyweb
  3. BeepBeep
  4. Chicago Boss
  5. Erlang Web
  6. webmachine

Erlang database:

  1. Mnesia (preferred so far)
  2. CouchDb
  3. MongoDB

Concrns:

  1. Nitrogen

    • JavaScript generation

      Since Nitrogen generates and embeddes JavaScript code on to the page which increased the page size. I am not sure if it’s even possible to somehow “separte” the generated JavaScript code from raw html (somehow it can be cached by browser) in order to reduce data transferred down the wire. But I think in general event model and auto wire event is very suitable for application type but not so much for content/public facing type.

Upvotes: 35

Views: 12987

Answers (5)

Vijay Mathew
Vijay Mathew

Reputation: 27204

This blog post compares a few Erlang web frameworks.

Upvotes: 13

tmcallaghan
tmcallaghan

Reputation: 1302

As the previous answer stated, VoltDB provides extremely high performance OLTP functionality (transactions and ACID) at scale. There is an Erlang client library available at http://community.voltdb.com/getinvolved#svn

Upvotes: -1

aris
aris

Reputation: 27

VoltDB (http://voltdb.com/) is an opensource & commercial database, ACID, scalable, and very high throughput (50x from leading OLTP DBMS). VoltDB recently develops erlang client API, by Henning Deidrich. Just join the forum and find henning.

Upvotes: 0

John Galt
John Galt

Reputation: 257

Personally, I went with mongodb (cos it has native erlang drivers and other advantages) and webmachine for URL dispatching. I like the idea of having very simple wireframe HTML and mostly piping JSON from webmachine and mongodb to the front end to be processed by JQuery or whatever. However, another interesting front end would be cappuccino.

Upvotes: 6

ceth
ceth

Reputation: 45345

I'm working with CouchDb. Here is a quick start guide I have written. It is in russian language, but the code samples are clear. I chose this database engine because it was written on Erlang and has a good documentation, samples and libraries on different development languages.

And I'm using BeepBeep, because it is most lightweight framework I have found. Earlyweb is too big for my tasks.

Upvotes: 3

Related Questions