Thursday, April 19, 2012

Best java mvc framework implementation for web apps


What is the best MVC framework inmplementation in java? It has to be:



  • lightweight

  • KISS philosophy

  • be able to make changes to the views without compile

  • minimalistic; few lines of code


Source: Tips4all

15 comments:

  1. I found Playframework is very easy to use:


    It's lightweight
    It's minimalistic
    You can change view or code and see
    results in browser without
    recompiling

    ReplyDelete
  2. Let me recommend Apache Wicket. It is very simple and suits modern Java coding styles very well (no XML configuration, Annotations, etc.).

    For bigger application Spring MVC is certainly great and may have a bigger community than Wicket.

    ReplyDelete
  3. See also http://stackoverflow.com/questions/116978/can-anyone-recommend-a-simple-java-web-app-framework

    I vote for Spring MVC as well.

    ReplyDelete
  4. Stripes is a great framework that has all the requirements you listed. It is simple, easy to manage and configure, also easy to learn. And is really minimalistic, so I like it.

    ReplyDelete
  5. Stripes would be very well-suited to your requirements. I think you've essentially enumerated the key objectives of Stripes, so you'll really enjoy using it, in my opinion. Check out the Stripes book blog for links to the book, a quickstart Ant script that sets up a Stripes ready-to-run project for you, and some tips'n'tricks.

    ReplyDelete
  6. Definitely, the best one that i've used is VRaptor 3
    url: http://vraptor.caelum.com.br/en

    With it, you can define your controllers without extends or implements anything.
    For use a class as a controller, just put an annotation in your class.

    This framework also don't need any xml ou properties to map action forwards, it is more refactoring friendly

    Ajax support is very good as well

    Hope that help you

    ReplyDelete
  7. I am a big fan of Spring MVC. Its pretty light weight and very customizable. You can both annotations and configurations.

    And it also does not require alot of code to get up and running.

    ReplyDelete
  8. I've begun to use Spring which is a great framework, but a lot of people rave about Groovy, especially since it appears to fulfill that minimalistic code requirement.

    ReplyDelete
  9. I personally like Struts2. Just don't use the built in AJAX support.

    ReplyDelete
  10. My vote would be for Induction. Induction implements dynamic class reloading, minimizing the need for container restarts. It supports multi-action controllers, encourages dependency injection into controller methods, provides concise model life-cycle management, and requires very little configuration. It makes easy work of model-to-model wiring by supporting dependency injection into model constructors (or factories).

    ReplyDelete
  11. For KISS, minimal amount of code and immediate update on code modification take a look at GRAILS (Groovy is the language that the MVC is programmed with)
    http://grails.org/

    ReplyDelete
  12. im forced to use Spring MVC over struts 2..to be honest its very good although its learning curve is not exponential but smooth..but when i tried struts 2 i found it really amazing but its main draw back was not enough resources or documentation..if you want a framework which is acceptable by market and appreciated alot then go with spring MVC..Its very elegant and sophisticated framework that will force you to sit on one knee for it.

    ReplyDelete
  13. Struts2, the know that HAR wrote in 09 not enough documentation, but today it has plenty, including several books and if you want to understand the foundational thought read a book on webwork.
    As far as a compilation of technology goes I recommend Struts2 as the MCV, Spring as the IoC container and Hibernate as the ORM. If you are doing any type of site that requires multilingual support and a great pattern of implementation AKA interceptors and chain or responsibility, model driven than this it he way to go. I have worked with Spring MVC, grails,and wicket, my money is on Struts2. As for ajax, I use JQuery and DWR, they are great tools with a good community.

    ReplyDelete
  14. Sorry I noticed this question rather late. Anyway.

    HybridJava is truly minimalistic Java web framework. It uses ZERO configuration regardless of the size of the application.

    HybridJava is the ONLY truly MVC framework, where components are independent MVCs.

    ReplyDelete
  15. If tool support is important I strongly recommend JavaServer Faces. It has good tool support in IntelliJ IDEA and Eclipse.

    JSF 2 bakes in Facelets. The Facelets piece lets you easily write new components and views without restarting the server. JVM Hot Deploy is usually sufficient.

    Don't underestimate the importance of tool support. It is very useful for less experienced developers.

    ReplyDelete