There are so many options to choose from that is is even hard to know where to start. As a person with a lot of Java background I will start by looking at JVM based frameworks and what Matt Raible posts about web frameworks: http://raibledesigns.com/rd/entry/infoq_s_top_20_web.

Spring MVC is still a strong competitor, but I don’t understand why Spring and VMWare is putting so much effort in Java based tools anymore. They also have Grails, that uses groovy and allows a very easy transition for a Java person, but it also uses Spring and Hibernate under the hood, so it only improves on the syntax. Grails reminds me a lot of Ruby on Rails, a framework that brought so much to this space: convention over configuration, easy MVC, database versioning buit in, scaffolding and more. But right now I feel there are better alternatives to Ruby on Rails, even though there are a lot of good tools written in Ruby (like Puppet, Chef, Cucumber, etc).

The best JVM bet I see right now is Play, a stateless web framework that supports both Java and Scala.

Enough about JVM frameworks – let’s jump to Javascript for the server side.

The first JS option is node.js, that has a multitude of modules and that’s what makes it really powerful and easy to use it for almost any need (web, web-sockets, pub-sub, etc). For web the simplest module is express, but it is also powerful enough to let you build both web-sites and APIs.

Built on top of node there are 2 more traditional web-frameworks with support for APIs and node modules: derby and mojito. I would probably pick derby over mojito for now.

The last JS framework I will mention is Meteor, a pure web framework for both server and client side with a unique approach that gives you amazing productivity and out of the box features. And with the funding they received over the last few months (around $10 million) and people behind it I see it having a really bright future. However, they should fix their main problem – not supporting node.js modules out of the box and creating their own packaging scheme. They should also add support for creating APIs, not just web-apps.

Always try the top 2-3 frameworks that fit your needs and decide for yourself.

 

Leave a Reply