Erlang Web Development Frameworks

Me Dev You Jane - - December 18, 2008

Web Frameworks.

I’m going to mention the two of the most interesting web frameworks out there. They choose a very different path and I would call both of them production ready. As they are both projects in active development you might have a problem with a new release breaking a few things.

Nitrogen

Nitrogen is the new kid on the scene but has quickly become my favorite framework. Unlike most frameworks it’s event driven. I enjoy it even more than Rails at the moment. It’s dead simple to get started in and very powerful. It’s in very active development and new and cool features are added almost weekly. The last new feature added was the simplest but one of the most powerful Comet implementation out there.

ONe of it’s drawbacks is that there is no routing system in it. Paths are defined by the module names. So web_index.erl becomes /web/index or /web and web_blog_comment.erl becomes /web/blog/comment. Some might find this a bit limiting.

There are many cool features planned and one of the most interesting is implementing Erlangs power to be a distributed web frameworks. Thus solving many of the problems of scalability that many other web frameworks have

Pros:

  • Dead simple.
  • Nice bindings system.
  • Kick ass Comet support.
  • Interesting future ideas.

Cons:

  • No routing at the moment.
  • A little too simple on the template side.
  • Really young so no real documentation yet.

Erlang Web

I have not much experience with Erlang Web but many seem to have started using it. It’s and MVC framework built on OTP principles and uses many standard Erlang practices. It’s template system on first view reminds me a bit of good old WebObjects. Currently it supports INETS and Yaws but not MochiWeb at the moment.

Pros:

  • Very Flexible.
  • Powerful template language.
  • OTP Principles.

Cons:

  • Could be simpler.
  • Needs way better documentation.

Template Languages

Sometimes you may just want something simpler. Just a little template engine on a custom built web server to show some dynamic data. Or for use in your own web framework. Here are 2 notable template engines.

HERML

HERML is an erlang implementation of the HAML markup language. It’s quick and simple but remember that this skips HTML altogether so it might not be for everyone.

ErlyDTL

ErlyDTL is an erlang implementation of the Django Template Language. I personally found DTL to be Django’s most anoying feature but as many people like it it’s best to mention it.



Categories: Blogs  Me Dev You Jane