views:

78

answers:

2

About the project

It's a RIA project where lots of widgets are needed specifically:

  • trees
  • tables
  • layouts
  • etc.

My primary targets with the project are:

  • get first version done very fast(this is most important)
  • make the app run very fast(this is also very important)
    • to be accessible also on mobile phones(which have slow processors) with a rich UI
  • make the app look very nice, and stable
  • don't want to worry about version upgrades for the client libraries - e.g. to make a lot of work to upgrade my existing code

Client side - ExtJS, Dojo, YUI, ...

I need to use a client framework like ExtJS, Dojo, or other alternatives.

About ExtJS, it would be nice though it's commercial and I don't know if it's worth(specifically because being a small startup means to save money as much as possible) the recurring annual cost instead of using Dojo for free.

Did you experience a similar situation where you worked solo on a similar project? What did you choose? If you chose ExtJS, how did you find it when the project was growing and perhaps you had to pay more for it?

Also I was thinking about YUI as an alternative for the above. What do you think?

Server side - Grails?

From past experience, working with Hibernate/Spring/JSF/JSP increases the time needed for releasing very much. I have extensive experience with these technologies, but since I'm mostly interested in getting first version fast and I care less for the future scalability they can provide, I'm thinking of Grails.

Also Grails community says it's a framework where you release really fast - and supports the Agile paradigm - which I guess for a startup project that's exactly what's needed. However, I have no experience with Rails/Grails and such but I'll learn if it's really worth it.

If you were in a similar situation in the past, I'd be very glad to know what choices did you do in your startup.

I appreciate any help you can provide!

+1  A: 

This is a pretty objective question so I can't give a definitive answer.

I can, however, tell you that none of your framework choices are going to have a bearing on how "nice" your application looks. That is going to be up to your design/CSS skills, not your development framework.

If you really need to get something out quickly, choose a framework you already know and go with that. If you are starting from scratch, I'd research a few frameworks and try and pick one you think you can mesh with based on examples and the user community.

Nobody can tell you what to do here, this has to be up to you.

EDIT:

based on your reply. If you are hiring people to help you with this, then you should either (1) let them decide or (2) use whatever framework that you can get the cheapest help with. You are going to have a really hard time finding ExtJS developers but probably a much easier time finding Ruby and PHP developers. Just something to think about.

Robert Greiner
I'm specifically seeking help from developers that experienced similar situations. I think there should be some answers to this and there are people that could help because maybe they did exactly what you said: researched a few frameworks(specifically the ones I've said above) and formed an opinion. These experiences are the ones I hope to get feedback about.
tanderson
I'm not at the stage where I can hire people. I just want to start the project by myself, release a version first and get community feedback. I would appreciate very much any help with the above since it matters very much to walk the right path from beginning than to reinvent the wheel by myself. For example, someone could say that maybe Dojo isn't worth the effort because of stability issues, upgrade issues, and more. The same goes for the other choices that I listed above. I hope you understand my issue.
tanderson
+1  A: 

Judging from my experience going with plain HTML/JavaScript/CSS for client-side and Grails as the backend (where SiteMesh is doing all the templating stuff and the whole thing maps nicely to how the web works) I'd like to think about it as The Only Solution :)

Obviously there's lots of problems one will face when taking this approach but there's one huge win: you'll not be blocked at any point with anything!

This also gives you a very clear separation of concerns which in turn is obviously great to have in the long run.

Oh, and btw - when I say "JavaScript" I mean "with jQuery" of course :D

PS. with "being blocked" what I mean is very broad. One example is JSF and it's component suites. Look at http://ihatejsf.com to see what I mean.

Matthias Hryniszak
why do you say "with JQuery" only? Because JQuery indeed does very well for plain HTML sites, but for desktop-like web applications with lots of widgets I was thinking maybe of ExtJS or Dojo.
tanderson
about Grails+SiteMesh: What is the dev. speed with these two? How stable is SiteMesh? Is there a big community around it? Also, how much time would take to learn them from scratch - I have extensive Java experience but no Grails experience?
tanderson
What kind of widgets do you have in mind? Windows, inputs, trees, accordions, buttons,... you name it! It's called jQuery UI :) plus there's lots of other UI- and widget-related plugins to choose from :)
Matthias Hryniszak
Sitemesh is simply perfect if you know its limitations. Basically if you use it as a one-level templating engine you're not going to hit any problems.
Matthias Hryniszak
Oh - and the rest should of course be loaded using Ajax calls for a true SPA (single page application) experience
Matthias Hryniszak