Choosing java web framework 2011

My question is based on the following question: Choosing the Java Web Framework now? .. only after a year.

The reason for my question is that a lot has happened in one year, the gaming environment has matured, etc., and I want to know what is the hottest today. What are the advantages and disadvantages of modern frameworks.

+7
source share
2 answers

focus on Java infrastructures, it depends on your goal (like everything in IT!)

  • In products for large companies, you either use Java EE or the standard Struts / Spring / Hibernate. They are validated stacks, the scalability needs in this environment are met by these stacks, and the state of the state may be relevant in this environment. In addition, they use the new version of “No one was fired by buying IBM” with applications (Play, Scala, what is this?)

  • For your personal projects, there is no commercial purpose, simple or fun, of any structure that you like. Get up, play whatever.

  • For launch, I would recommend Lift or Play. I personally like to play more, but YMMV. Both are flexible structures that simplify development and provide quick turnaround. Perfect match to run. Differences (stateless vs stateful, etc.) are what you should check before making a decision.

In Scala vs. Java, again this depends. If you're out of luck, you're not allowed to use Scala in a corporate environment (spreading slowly, though). For your own project, it does not matter. To start, select the one you know best. I know the training is attractive, but if you have 6 months of experience in Scala and 5 years of commercial experience in Java, the time and pain of creating your project in Scala will not be worth it.

+3
source

JSP is an obsolete technology, JSF is like a dinosaur, it is in terms of status and components. If you want to develop distributed applications with high traffic that can scale tens, hundreds, thousands of nodes, you prefer stand-alone frameworks over state-based components. Stateless frameworks can easily scale. Cabinet, Tapestry and Elevator are also reserved. There is a Click mechanism, but it has no innovation or speed. Struts was good, but now it's old, Spring mvc 3 is better than racks. Yes, Spring mvc was good, but now it's much better to play! Spring is becoming like Java EE in time; on the other hand, Play is a dead light structure with great community and documentation. This future is bright. It has many functions in the kernel (and its very light), and there are also many modules written for the game (for example, gems). In the latest release, he got websockets, dependency management, db version control, the much better scala module, ...

In particular, the new template for scala templates is dead easily, a safe type with state syntax (for example, asp.net mvc razor) with excellent performance, as you can see in the test http://www.jtict.com/blog/rails-wicket -grails-play-lift-jsp / (the game runs the fastest in the test)

You can use both java and scala with the game, but, in my opinion, scala is a better language than java, and compete with C #, Ruby, Python with the functions of the new generation (java cannot), so I prefer scala with the game . Lifting is a scala framework, but it is more complex than playing and highly competitive.

In addition, your choice of platform and language is great. As an experienced .net developer, I do not recommend asp.net webforms or asp.net mvc, I always prefer platform-independent open source technologies. Python / Django and Ruby / Rails are slow, not safe. PHP and Perl are obsolete technologies. The best platform today is jvm (.net only works on windows and mono, killed by attachmate), so you're on the right track.

+3
source

All Articles