• Post Reply Bookmark Topic Watch Topic
  • New Topic

Need help in comparing several different JAVA frameworks.  RSS feed

 
Ranch Hand
Posts: 224
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

I'm a JSP programmer and usually I build applications from scratch.
Now I'm trying to learn about using frameworks [I don't know why I didn't think about this earlier ]. I'm considering several different frameworks. For JAVA frameworks, I'm considering JSF, Struts, and Spring.

I understand that sometime you can't really know each framework unless you try it by yourself. But I'm looking to know what are the advantages and disadvantages of using each one of them in the big picture.

JSF caught my attention since in wikipedia, it says that it includes: "A set of APIs for representing user interface(UI) components... A default set of UI components." I need to build application with a good UI a lot, so this is very appealing to me. But are there any disadvantage of using this? How about Struts and Spring?
Also I read that "Spring Framework is probably best known for offering features required to effectively create complex business applications...". But I'm not sure whether this is the best for me or not.

I need some advice in general to compare the frameworks.

Thansk in advance for all the help.

p.s.: I also read somewhere that Ruby on Rail is very appealing to JAVA programmer. Is it true? Why is that?
[ February 08, 2008: Message edited by: Susan Smith ]
 
Ranch Hand
Posts: 317
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would say start by seperating your front end frameworks from your back end buisness frameworks.

JSP, struts, JSF are all front end visual frameworks that rely on JSP/Servlet technology. Yes you can connect up EJB containters or go with DAO, or hibernate, I think ruby also gets data into/out of DB, but JPA.....


The frameworks that you choose to deal with buisness methods and businsess data is another whole ball of wax. You need to understand the customers need for security, transactional control, dependancies between business objects. Some frameworks are more heavy (EJB) than others (DAO);
Choosing one over the other depends on a lot of factors.

In my opinion EJB's are one of the most mis-understood and mis-choosen choice of standards to solve a problem. Hence the really bad rap they have.
 
Rancher
Posts: 42972
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java Web Framework Sweet Spots contains summaries of various web frameworks by their authors, as well as their opinions of their competition. Might provide some perspective on what is and isn't a good use case for a particular framework.
 
Ranch Hand
Posts: 132
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are looking into going into Java EE development, then your are probably going to have to learn all three. Also have a look at hibernate.
 
Susan Smith
Ranch Hand
Posts: 224
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
-----
Peter, I think your idea is very good to separate front-end frameworks from back end business frameworks.

-----
Petrus, could you please elaborate more why do I need to learn all three? How can I use them all together in my application.

-----
Ulf, thanks for the article. It is really helpful. There are several things I don't understand from the articles.
Maybe you would know the answer.

(1.) In the JSF sections, it says that "..... Because JSF takes care of managing the state of the UI for the developer, it adds overhead such that it's probably not ideal for large, read-only web sites. In those cases, it's probably more reasonable to use Struts because of the wide knowledge pool..... "

What kind of overhead is he talking about?

(2.) For Spring, it says that "....builds on the core Spring framework - doesn't just stop at the web tier....". Based on my understanding that means that I can use Spring framework for back end applications?

(3.) What exacly the technical advantages of using Struts? it only says something like this in the documentation:
"......Documentation, broad user base, books, and support. If you want a framework that is very well known and easy to hire for and train on, then Struts is good. Although other projects, I�d say, are technically superior in different ways, the gap is smaller than folks tend to think. Really, the web tier is pretty easy and straightforward........."

And in the disadvantages section, it says:
".....If you need portlets or complex pages with lots of things going on, Struts either wouldn�t work, or it would be too tedious......"
So, what kind of web applications is it able to build?


- Thanks. -
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!