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!
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 😀
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.