Stripes, Spring, Play (or ?) : which high performance Java framework to use?
Asked Answered
H

6

13

We are beginning to build out a webapp which will probably see a lot of traffic. We dont have a lot of money, so we want to reduce hardware cost. More or less, I think that means we will try to be as stateless as possible (as the Wicket way suggests - have bookmarkable URLs, etc. etc.)

The other problem is that we are gonna be hiring contractors (think oDesk or elance) for chunks of work - so there is the question of finding talent.

I have looked at Tapestry and seen a lot of API instability ( see: Why did you stop using Tapestry? ) which makes me reluctant to use it.

Seam and Wicket are highly stateful - not something I care for.

Grails looks to be very interesting. I know that there is a performance hit as compared to pure Java, but it might be worthwhile.

Stripes looks good, but I cant find examples of websites that have been built using Stripes

Which Java framework do you recommend for performance and simplicity ?

Helms answered 3/9, 2010 at 5:50 Comment(5)
possible duplicate of Java MVC Web development framework ?Godsend
Another, Best Web Applications Framework For JavaGodsend
possible duplicate of Choosing a Java Web Framework now?Mellisa
@Adeel/@Pascal: I am not looking for MVC - I am also not looking for the "best"... defined in a loose subjective way. The requirements are very simple and already narrowed down - stateless, fast, easy to learn. You will notice that I have already referred some of these discussions (which is why I discarded some of the frameworks)Helms
Do the Play tutorial. You'll be hooked after that!Deaconry
M
15

The best performance is to be found with the action based frameworks (no paradigm mismatch as the component based frameworks have). My Shortlist would be Stripes first and Spring second.

Stripes Framework (Pro):

  1. Fast
  2. SEO friendly links
  3. Elegant easy to understand code (1 thread per action).
  4. Low learning curve, any Java web developer can quickly learn it.
  5. 100% open source, no chance of future license changes.
  6. Focused and small integrates with any stack.

Stripes Framework (Against):

  1. Less well known
  2. Not full stack

Spring MVC (Pro):

  1. Fast
  2. SEO friendly links
  3. Lots of developers have worked with Spring (but less with Spring MVC).
  4. Full stack, part of Spring framework.

Spring MVC (Against):

  1. Higher learning curve
  2. More complex code: because beans need to be programmed tread safe, result is procedural code.
  3. You might need to buy licenses from VM Ware in the future if you want to get all latest patches.
  4. License terms can and have changed for future versions.
  5. Full stack, you might get more than you need.
Magma answered 5/9, 2010 at 22:1 Comment(2)
the strength of Stripes resides actually in the fact that it doesn't come as a full stack, Stripes developers made a judicious decision by not to duplicate the efforts to reinvent yet another library/framework for a given task (ORM.. etc), you're free to plug your favorite. Stripes is light weight by design.Randarandal
I like both - Stripes & Spring MVC, Stripes is really elegant, simple and easy to learn & use. Spring MVC 3 has make the configuration more easier, yes, full stack, it is pros & cons. If your website is complicated, go for spring mvc, you can NOT be wrong with that.Librettist
B
16

I would highly recommend Play! framework.

Java-based, Rails-like, easy to learn, highly productive, more and more real projects based on it, full stack, fast in coding and fast in production, active community...

Breezy answered 2/10, 2010 at 7:9 Comment(0)
M
15

The best performance is to be found with the action based frameworks (no paradigm mismatch as the component based frameworks have). My Shortlist would be Stripes first and Spring second.

Stripes Framework (Pro):

  1. Fast
  2. SEO friendly links
  3. Elegant easy to understand code (1 thread per action).
  4. Low learning curve, any Java web developer can quickly learn it.
  5. 100% open source, no chance of future license changes.
  6. Focused and small integrates with any stack.

Stripes Framework (Against):

  1. Less well known
  2. Not full stack

Spring MVC (Pro):

  1. Fast
  2. SEO friendly links
  3. Lots of developers have worked with Spring (but less with Spring MVC).
  4. Full stack, part of Spring framework.

Spring MVC (Against):

  1. Higher learning curve
  2. More complex code: because beans need to be programmed tread safe, result is procedural code.
  3. You might need to buy licenses from VM Ware in the future if you want to get all latest patches.
  4. License terms can and have changed for future versions.
  5. Full stack, you might get more than you need.
Magma answered 5/9, 2010 at 22:1 Comment(2)
the strength of Stripes resides actually in the fact that it doesn't come as a full stack, Stripes developers made a judicious decision by not to duplicate the efforts to reinvent yet another library/framework for a given task (ORM.. etc), you're free to plug your favorite. Stripes is light weight by design.Randarandal
I like both - Stripes & Spring MVC, Stripes is really elegant, simple and easy to learn & use. Spring MVC 3 has make the configuration more easier, yes, full stack, it is pros & cons. If your website is complicated, go for spring mvc, you can NOT be wrong with that.Librettist
G
1

Spring-mvc with jsp's.

Spring is lightweight, everybody knows it, a lot of documentation for it and it's really simple to start developping if you use spring-mvc (specially if you use the mvc-annotations).

If you want some nice effects, you can combine it with JQuery (also for easy-AJAX).

Gambrel answered 3/9, 2010 at 6:4 Comment(0)
I
1

Spring MVC and Stripes would be on my short list.

Both are light and easy and gives you more flexibility of the web application.

You might also considering looking at AJAX functionality; which parts of the pages could be simplified/smaller due to the usage of AJAX.

Ingrown answered 3/9, 2010 at 11:51 Comment(0)
N
1

Check out the StripesFramework.org Stripes around the web page for a listing of websites built with Stripes. Some commerical sites include http://www.temprotect.com

Neri answered 1/1, 2011 at 21:13 Comment(0)
A
0

Spring Roo (integrating Spring MVC) could be a good solution for you: this is pure java (easy to find freelancers), performant and easy to use with principles applied like Convention Over configuration;

Grails is also a good solution but you will need more hadware capabilities than Spring Roo and freelancers will be more difficult to find.

Aerogram answered 4/9, 2010 at 11:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.