‘Six’ best web frameworks in Java

A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development. Here is the list of SIX best web frameworks which we are using in Java. Each one has its own advantages.

1. Java Server Faces – JSF

  • From Sun Microsystems
  • Based on Component Centric approach
  • Best Feature : The most using web framework. Because of its component architecture, the developer doesn’t need to mess with writing HTML, JavaScript etc to get rich “AJAX” type of functionality. It also takes care of state and event management. It has very less configuration too.

JavaServer Faces (JSF) is a new standard Java framework for building Web applications. It simplifies development by providing a component-centric approach to developing Java Web user interfaces. JavaServer Faces also appeals to a diverse audience of Java/Web developers. “Corporate developers” and Web designers will find that JSF development can be as simple as dragging and dropping user interface (UI) components onto a page, while “systems developers” will find that the rich and robust JSF API offers them unsurpassed power and programming flexibility. JSF also ensures that applications are well designed with greater maintainability by integrating the well established Model-View-Controller (MVC) design pattern into it’s architecture. Finally, since JSF is a Java standard developed through Java Community Process (JCP), development tools vendors are fully empowered to provide easy to use, visual, and productive develop environments for JavaServer Faces.

2. GWT

  • From Google
  • Based on Widgets
  • Best Feature : Speed development. Easy to develop good, neat and “Browser independent” Ajax applications. Give more stress to pure browser independent ;).

Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don’t speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript’s lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.Project Home and More features

3. Stripes

  • From Mc4j
  • Based on MVC architecture
  • Best Feature: No Configurations ) . Annotation based programming makes coding more interesting and easy.

Stripes is a presentation framework for building web applications using the latest Java technologies. The main driver behind Stripes is that web application development in Java is just too much work! It seems like every existing framework requires gobs of configuration.Project Home and more features

4. Spring MVC

  • From SpringSource
  • Based on MVC architecture
  • Best Feature : Speed development. Now so many Annotations are also included (v2.5). Its from SpringSource and have a good support too. Being a person who likes and works with Spring framework.. I really encouraged by their good and really fast support.

Spring Web MVC is the own web framework of Spring Framework.The Spring MVC Framework’s architecture and design are in such a way that every piece of logic and functionality is highly configurable. Also Spring can integrate effortlessly with other popular Web Frameworks like Struts, WebWork, Java Server Faces and Tapestry. It means that you can even instruct Spring to use any one of the Web Frameworks. More than that Spring is not tightly coupled with Servlets or Jsp to render the View to the Clients. Integration with other View technologies like Velocity, Freemarker, Excel or Pdf is also possible

5. Struts2

  • From Apache
  • Based on MVC architecture
  • Best Feature : No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties! and its enhanced and rich tags

Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.Project Home and More Features

6. Wicket

  • From Apache
  • Based on Component Centric approach
  • Best Feature : Swing-like OO Component Model. This feature separates Wicket from all other frameworks

With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.Project Home and More Features here…

Please put your Suggestions and Ratings here and the frameworks which you are used and known as great ones. That will be more helpful to all of us to get the real idea. As we all know the selection is entirely related with the requirement, learning time and the using situation, this post is gives you an idea about the frameworks using nowadays. Its not at all easy to “rate” the Java frameworks and here I am putting this as per my knowledge and the current trends only. I expect your positive and negative suggestions through valuable comments. All the SIX frameworks noted here are excellent ones and do NOT consider the order as a RANK given to them.

Technorati Tags: , , , , , , , ,

133 thoughts on “‘Six’ best web frameworks in Java

  1. EG needs a little help with anger management.

    1. True, but so what. Why is this preventing you from doing work?

    2. True, it does not necessarily generate a optimally minimal HTML. If the HTML RenderKit or a single component of it is your issue, rewrite it and submit it to MyFaces or the JSF RI. Again, Why is this preventing you from doing work?

    3. True, unwanted is not optimal. But is it innocuous? Again, state a specific case where this is preventing you from doing work?

    4. Maybe. I find that this issue is a plus. Why do you need to have absolute control of every single line of software that you use? Programmers that have this problem usually end up refactoring there code till the end of time.

    5. Fixed in JSF 1.2. You do do technology updates don’t you Or are you still using Java 1.4?

    6. False. I use a Page model taken from the Woodstock components. If you use the default RI you get what you get.

    7. True, but meaningless. Have you used f:param or f:attribute?
    I use these both statically and dynamically.

    8. What is simpler? ASP.NET is similar and so is Adobe Flex2. Though those have so far provided a richer set of components. Use an interactive design tool. I’ve used Eclipse with WTP (not mature), Netbeans with VWP, Dreamweaver with JSFToolBox, and Oracle JDesigner. All have pluses and minuses. Don’t think generating web pages via a tool is professional? Thousands of web designers using Dreamweaver will disagree with you.

    9. Maybe. If your careless about how you write Javascript. Is it only JSF tags that break your Javascript?

    10. Maybe, but so may any other tag library. I know of no standard that defines names for CSS styles. If I call a style “jim” and some other tag calls a style “jim”, then yeah, somethings going to have to give.

    11. Fixed in JSF 1.2. We use it everyday.

    “Finished” a 9 month contract. I find it odd that someone could so quickly arrive at such a negative opionion of a technology. Sounds like you have a dysfunction.

    I use four eight different JSF component sets on a commercial web site. Yes, there are places where development with JSF could be improved. If you take some time and look at those other technolgies that I’ve mentioned, you’ll see a similar approach.

  2. I think that some of you dont understand how web framework world works, I for example was very happy with Struts and i felt no need to change it, but in new company we are using SpringMVC. Maybe im wierd, but it all looks the same.

    I think that using/talking/learning about web frameworks that are not popular and might never be used at work is pointless. I only use web frameworks because i get pay for it, at home i prefer to use plain old java. Plus why learn something you might never use? On the list i see only JSF, SpringMVC and Struts2.

    I really hope that Struts2 dies, because i really dont want to learn it and from what i heard its not Struts anymore. I was offered job in ADF, but i turned it down, because i think that ADF will never make it, plus using this framework was too IDE-driven.

    The important question is why we need so many web frameworks? Some people are STILL using Velocity, because they got used to it, can we do the same thing here? i really believe in SpringMVC and i hope it will be the standard soon.

  3. Stripes is powerful in the case of binding comes. Its autobinding is very useful for any programmer and also very interesting

  4. I’ve spent a fair amount of time using/trialling the various Java web frameworks and I can say without a doubt that Stripes is way ahead for the job in hand. Zero/minimal configuration, everything in the right place, enjoyable to use, light-weight and doesn’t tie you down.

  5. Nice to see stripes getting some recognition here. If you haven’t tried it, you really should. I think its the best kept secret out there and it really shouldn’t be.

  6. “the time Netbeans is spending thinking about how to generate page code, beans and classes to render one Button component that i dragged, i would have written 5 textfields and 2 submits buttons in Wicket by hand and wired them to the appropriate bean :).”

    Sure, and the time it takes you to write 5 textfields and 2 submit buttons in Wicket by hand and wire them to the appropriate bean, I would have written 10 text fields and 4 submit buttons in Stripes. (Notice the missing wiring of beans).

  7. “get rich “AJAX” type of functionality”?
    I really don’t think so, It is very hard to wire SUN JSF implementation with AJAX.

Leave a reply to Jacob Pays Cancel reply

Design a site like this with WordPress.com
Get started