Jun 14 2008

My search for a web-development framework

Published by Kefah Issa at 8:01 am under General

Would the debate on the best Web-development framework evern end? probably not, becuase debate reflects the very nature of us humans. We see things from different angles, and apply them to different cases …

Nevertheless, for the yours truly this does not have to be the case… here is my angle …

The need and demand to build content-oriented websites have been knocking my door for that last 10 years. I built several solutions, using ASP, PHP, Cocoon, Lenya, Ruby on Rails, Java Servlets … along few others. Each of them had its own shortcomings that made me not to choose again in my next project.

I spent good portion of my time just searching for a better alternative …

Ruby on Rails (RoR): My experience with Rails has started around two years ago. Rails was a cool technology. However it didn’t live up to the expectations. I think both Ruby and the Rails framework has fundamental implementation issues that should have been solved two years ago, but nothing was done about it. so, after the huge hype and promotion, its cooling down slowly. Now, as they say “Good things never go away” Ruby on Rails made every one think again about how to write web-frame works and how to make it easy and sensible. Java and PHP communities among many others made the move and benefited from the wonderful approach that Rails has offered to web-development.

That being said, RoR has become more like a reference to an original concept.

But what are the limitations of RoR? one may ask, the answer is simple : Performance and Scalability.

Should Ruby 2.0 have been released two years ago, RoR would probably have been the preferred choice. but any advancement in Ruby has been staggering for too too long.

I would never blame any one for that, things are what they are. I’m sure the ruby-developer-community have their reasons. but for me, it means that i have to find my way again in my search for a web-development framework. That was around the beginning of this year.

Lenya 2.0 :A well-architected option that simply has major problems in running up to its advertised features. its very hard to get things working, and if you come up with any specific need that wasn’t previously thought of it would also be super hard to implement. I know that my comments on Lenya might sound too subjective, but they are not; they are based on months of trying and digging and learning without any avail.

PHP (CakePHP, codeIginator, Symphony) : I never got into PHP really. I know that the computer language is but a tool, but I think PHP being made very easy by design made it too difficult for someone like myself. ;)

Groovy and Grails : Although I heard about it couple of years, it never really caught my attention. “what would just-another-ruby-on-rails replica bring to the world!?” I asked by then.
Things have changed, though. For the last four weeks, I have got my hands dirty and my feet wet with Groovy and Grails… and I must say that I am amazed.

What I found so cool about it …

  1. Compiled and not interpreted. So its not an interpreter on top a virtual machine.
  2. Full Java interchangeability, even the syntax pretty much overlaps. to the degree that if you change the extension of a java file to groovy it would probably work with minimal changes. which means that you can inter-mingle java code and libraries with groovy ones.
  3. Grails builds on top of industrial-strength components such as Hibernate and Spring. Hence you will find your most demanding needs covered.

The one shortcoming would be performance (but not scalability). That is grails is multi-threaded (unlike Rails that is single threaded, even on JRuby, rails remain to be single threaded).

But performance is improving, groovy 1.6 promises to bring it closer.

On the grails website, they say “The search is over” I started to realize and believe in that … hope my search will be over at least for the next few years.
more to come …

No responses yet

Comments are closed at this time.

Trackback URI |