Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSF or MVC with Servlets/JSPs or other frontend frameworks? [closed]

I'm working on development of a social web application using Java. I need to develop the frontend/GUI of my application for web browsers.

I'm wondering what is the better strategy to do frontend development, whether using frameworks like JSF 2.0 & like OR simply following MVC approach with servlets and JSPs ?

As I have heard JSF really makes the development simpler but also the learning curve is not too low, so is it worth learning JSF or I should prefer to directly proceed with servlets/JSPs ?

I'm new to web applications development using Java & I've almost completed writing the business logic for the application.

Please justify your answer on the basis of following parameters:

  1. Performance & costs
  2. Ease of Development & Time (considering the learning time as well)
  3. Future Maintenance of code
  4. Any other parameters you consider important

Update (07-09-2012):

I finally went with JSF-2.0 & have no regrets till date. Learning curve is not steep. It's easier & development is fast with component libraries like Primefaces. There are some costs as to state saving but those things can be handled intelligently. Community is big & things are well documented now. Hopefully, in near future Stateless JSF is also coming which will boost JSF with extra high performance.

like image 636
Rajat Gupta Avatar asked Mar 25 '11 20:03

Rajat Gupta


1 Answers

For a hobby webapp, homebrewing some MVC framework is not bad. It's a nice learning exercise tour. However, it will bite you on the long term, for sure if you publish on the web and it becomes popular. Most of existing MVC frameworks are very well thought out. Most of the unforeseen caveats are taken into account. The sole framework API is well maintained and documented by a third party.

Also, whenever your webapp becomes popular and you need more developers to work on it to fulfill the enduser requirements/wishes, it's easier to find someone who's already familiar with an existing framework. With a homebrewed and possibly buggy MVC framework, you'll likely find less developers who are eager enough to dive into another learning curve before taking over the maintenance which they'll probably never reapply on their future jobs/projects.

This does not specifically apply on JSF, but on every other existing and popular MVC framework as well, such as Spring MVC. As to JSF in general, well, I've written a lot about it before here. Here are some good starting points to read the one and other about it:

  • JSF versus plain HTML/CSS/JS
  • JSF adoption and popularity
  • What are the disadvantages of JSF 2.0?
like image 104
BalusC Avatar answered Oct 22 '22 13:10

BalusC