Tuesday, April 03, 2007

What's the good framework for developing a web 2.0 application?

This is a question that I have been asking myself for sometime now. First of all, I wasn't sure whether a web application was such a good idea since I had spent most of last year working with thick clients. So for the moment, Iam setting aside this question, to be able to objectively decide which framework would be the best for data oriented projects. I am saying data oriented because if it were a text editor or had lots of charts, graphs etc, a thick client would win hands down. So the project has to be such that both a thick client as well as a web application can handle. With RIAs the gap between thick and thin clients has definitely narrowed down. This should only aid us in our evaluation.
Let's take a sample project for our evaluation. Since there are a number of web component frameworks available, let's assume we will be using one such component. The Tree component would be a good component to use. The data for the tree itself could be something hierarchical like an organization hierarchy. A requirement of 'Shenandoah corp' could be to get each employee to fill in a questionnaire. So for each employee, a form has to be presented and their inputs taken and then stored in the database. Soem fields in the form might require interfacing with the company's databse in DB2 which might require a web service call to be made. Since the budget for this project is low, the entire development has to be completed in 1 man month. The company also has plans to showcase the application to their customers which would imply that the application be web 2.0. It wuld therefore have to use Ajax and provide the same experience as visiting a site like digg, flickr etc. With the above in mind, let's proceed to narrow down the tool/api/frameork to use to implement this. To begin with, the available frameworks are as follows:

1. Flex 2
2. Wicket
3. Ruby on rails
4. GWT
5. J2EE
6. Seam
7. Struts

Since Ajax is needed, no 5 and no 7 are eliminated right away unless some means of Ajaxifying j2ee and struts is available. The rest are all even contenders which leaves us with nos:

1. Flex2
2. Wicket
3. Ruby on Rails
4. GWT
6 Seam

the eighth ofcourse being the Swing based thick client.

Who won the race and which framework was finally chosen to build the application. Watch this space to know the ending.

9 comments:

planetmcd said...

Being a Rails developer now, I'd recommend it.
If you're locked into Java, I wouldn't use struts or J2EE (I used to develop web apps in struts). But you can add Ajax to java apps with DWR. Spring MVC might not be a bad thing to look at if you're stuck with Java, it also integrates to some extent with DWR.

Unknown said...

What do you mean by "means of Ajaxifying j2ee and struts is available"? Ajaxifying does not depend on the framework or language you're using.

You can ajaxify your app using stuff like prototype, jquery, etc.

Just to remember that Wicket is, for instance, a Java based framework. ;-)

You would also take a look at Struts 2 since it already has some Ajax stuff. You can check also, Echo2 that is a complete Java/Ajax solution.

Regards,

Alexandre

Annoyed said...

You obviously don't know anything about java or J2EE given your comment about ajaxifying j2ee. As alexandre mentions, AJAX has nothing to do with the underlying technology and if you did your homework you would see that Seam as well as Wicket are both Java frameworks that are, uh, j2ee. Not to mention that JSF has some built in AJAX capabilities and it is, hmm, j2ee.

Oh, and did you happen to notice that Flex was originally a j2ee based framework? It ran on a j2ee app server that compiled the UI into flash.

prakash visvanathan said...

First of all, let me clarify that I have worked enough with j2ee and struts to know what they are. And I have also worked with wicket and GWT to know their capabilities as well. Maybe I should have mentioned simplicity would be important or perhaps that a framework should be readily available with Ajax in it for e.g Ajax4JSF. I am not sure how you go about Ajaxifying struts or J2EE with stuff like DWR, prototype, JMaki and any of the other Ajax toolkits. But Iam sure it must definitely be tougher than adapting one of the existing frameworks. And yes, I should have mentioned Spring MVC but it slipped my mind probably because it can be used to do some heavy lifting. BTW, Does has Spring been integrated with Ajax. Thanks for the comments and keep sending your comments so it can be useful for others as well.

Mariusz Z. said...
This comment has been removed by the author.
Mariusz Z. said...

PRADO v3 is also great PHP framework for Web 2.0 projects, e.g. eioba.com

ylon said...

Just curious, never touched it, but what about groovy?

Anonymous said...

gas 4 free -
get better grades -
golf swing guru -
governmentregistry -
government registry -
heartburn no more -
homemadeenergy -
home made energy -
hyper vre -
i software tv -
legit online jobs -
linden method -
london forex rush -
master word smith -
maternityacupressure -
maternity acupressure -
max pro system -
meet your sweet -
membership gold rush -
minute sites -
musclegainingsecrets -
muscle gaining secrets -
negative calorie diet -
one minute cure -
one week marketing -
pc on point -
pc tv 4 me -
perfect optimizer -
php link cloaker -
pick the gender of your baby -
profit lance -
public records pro -
quit smoking today -
recipe secrets -

Anonymous said...

buy valium damien hirst valium price - valium drug screen