‘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. hi
    i am totally new to these technology, can anyone tell me how to use struts2 action tag……….if you can send a sample code…….
    ………..
    one more thing, what you guys think about Struts2 because i have just started to learn it………..
    …thanks

  2. And the best of all, there is no way you are ever going to do a RESTful web site using JSF because it is all POSTs!!!

  3. I’ve been using JSF 1.1 for some time now and have discovered quite a few shortcomings.
    JSF components are very rigid and even some of the standard HTML features available with some standard HTML components do not work right. For example, it is really difficult to get the visited CSS property of a bunch of commandLinks on a page to work right (all because Javascript does all the submits).
    The JSF panelGrid lacks common html table properties ROWSPAN and COLSPAN.
    I’ve spent quite some time browsing through MyFaces 1.1 code to figure out why it is virtually impossible to find out which bean’s action method gets called inside a PhaseListener. (It is possible but I dont think it is worth the effort).
    There are quite a few minor quirks that really make it annoying.

  4. Большое спасибо автору. Возможно, в будущем я и на самом деле реализую аналогичную затею. 🙂

  5. I did 18 months solid of JSF – and I swear I will never touch that monster again.

    I picked up Stripes after the JSF nightmare. I thought I was just going to evaluate the framework, but before I knew it I had 4 projects started on it.

    Currently I am maintaining a project built using SpringMVC, and I am missing Stripes every day.

    Stripes is every nice. Simple Elegance is how I would describe it. It is very easy to learn and extremely productive.

    Even if you don’t plan to use it – at least use it as a yardstick to evaluate other frameworks.

  6. Jacob Pays says

    “EG needs a little help with anger management.”
    and
    “Sounds like you have a dysfunction.”

    Sounds to me that EG was voicing his (strong) opinions about a technology, while Jacob Pays was making a personal attack. Where is the anger management really needed?

  7. Are there any guidelines for where the various frameworks are best suited? We have an existing high traffic public site running on Struts 1 and we are looking to migrate to a better framework. Are some of the frameworks more logical than others? I’ve heard several comments about JSF applications not being good for high traffic sites due to memory overhead.

    I’m sure some of the new frameworks are great and “some” of their adoption rates will grow but what if from a corporate standpoint you need to pick something that will have strong industry support and will continue to evolve for a number of years? Would it be JSF, Struts 2, Spring MVC or what?

  8. Why in your list it does not consider JBoss Seam. I use with JBoss Tools in Eclipse. You can give me of yours reasons.

Leave a comment

Design a site like this with WordPress.com
Get started