What choice is better for a portal solution with a offshoring development model: Spring MVC / Wicket?
I have been reading many forums about the choice for a Java web framework. Currently my company is making the high level design choices. For the back-end we have chosen Spring as it's very flexible and doesn't exclude standards like OSGi. For the front-end of the development we have to choose between Spring MVC / Wicket. We left out JSF as it's quite complex and it has some issues with portal development.
In this case the design is made by experienced architects in Europe and the development will be done by offshore development units. So this also introduces the factor what technology is easier to learn / carry out?
Good Answers (1)
The choice between any model 2 (often called web mvc) framework or a component oriented framework like Wicket is easy: go for the latter. You can read my take on things in the first chapter of Wicket In Action (see http://www.manning.com/dashorst/) and (somewhat related) here: http://chillenious.wordpress.com/2006/07/16/on-page-navigation/
One of the things that makes Wicket suitable for development using offshoring is that components can be off any level (pages, panels, anything) and are self contained. This means that functionality can be independently developed and reused in multiple contexts. Which is quite impossible with model 2 frameworks (Struts, Spring MVC, etc).
Do give GWT a serious look as well. Both Wicket and GWT have their own strong and weak points (google around for discussions on this), and depending on what you do, one might be a better choice over the other.
Links:
Eelco H also suggests these experts on this topic:
More Answers (8)
Dustin D
Software Engineer at Conducive Technology
Best Answers in: Software Development (1), Web Development (1)
I would not exclude Tapestry from your list of frameworks. It is a very flexible framework with a very customizable IoC. Pages are extremely easy to create. Version 5 should have a release candidate this month or at the beginning of next. Having been using this version for about four months now, I would say it is still very stable.
Although I have not used Spring personally, the guys I work with (who swear by Spring) are quickly becoming convinced Tapestry is not only easier to develop in but also more customizable.
Thank you
Dustin
Links:
If we are talking about UI framework here I would definitely look at GWT (Google Web Toolkit) - that's what we are currently utilizing for our new projects. Developers will do need some efforts to learn it because this framework is somewhat different from usual MVC approach but on the other hand it will be easier for those who are familiar with AWT/Swing because it follows the same concepts. With GWT you'll also be able to fully cover your UI code with unit tests which is not possible with traditional frameworks. Anyway I guess you should at least take a look.
Links:
Hi,
I belive spring MVC is a really great one as we are using this with our current client and it is going well so far.
Regards
-San
for Enfinet
We've done several projects with Wicket so far, and I recommend you using it also. Nice, easy and straightforward framework.
Uday K B
Principal Architect & GM- IT & Member of CAEAP
Best Answers in: Compensation and Benefits (1), Career Management (1), Enterprise Software (1), Information Storage (1)
Greetings,
All frameworks and tools have their own pros and cons.Till one doesn't understand the business strategy it would be early to say which one to choose.Definitely depending upon business expected growth and target segment would play a major role in deciding the suitable solution.As per market trends Portals, web 2.0,Enterprise 2.0 are at hot spot.
It depends on experience of the developers.
Actually all these frameworks are good solutions, but the implement solutions are different.
In my opinion, for the front-end, Wicket has a very different approach than Struts or Spring, but maybe it is more immediate for a startup.
The problem is understanding if you can implement all types of web flows and necessary controls for your application using only Wicket.
My favorite frameworks these days are Seam, Struts2, Tapestry 5 and GWT.
Picking a framework is highly depending on projects nature (Internet or Intranet projects)
Personally, I'm allergic to SpringMVC, it is too flexible which it could be an annoying thing (at least to me).
Tapestry is dangerous...
You don't know when it will be rewritten and it lacks a rich Ajax component shop, the shop that Seam enjoys.
As much as i love wickets innovation i think spring mvc suits you better why?, support and documentation, there are lots and lots of books and resources on spring, finding good and effective documentation on wicket is a hard chore, not to mention the fact that its pretty new and user support is not that big, on the other hand spring mvc's user base is HUGE. If all you are looking for is a component based framework against a request based framework(spring mvc, stripes, struts) i think GWT will suit you better, again, because of the large user base (compared to wicket) and the amount of already available books and resources.
hope it helps you.