<story><title>An Opinionated Guide to Modern Java Development, Part 1</title><url>http://blog.paralleluniverse.co/2014/05/01/modern-java/</url></story><parent_chain><item><author>twistedpair</author><text>How&amp;#x27;s Play! compare to Spring? I&amp;#x27;m working on a bloated Spring whale (1.5M LoC, 485 Spring XML config files) and wondering if  something like Play! can do it better, or if complexity is simply a beast that will inevitably turn any project into a turgid mass.&lt;p&gt;I ask since friends at Google will laugh at a bar if you even say &amp;quot;Spring,&amp;quot; but I&amp;#x27;m curious what else can do it all (Guice&amp;#x2F;Gin?). Perhaps nothing can and the trick is to simply have small, cohesive projects linked by common REST (et al) API&amp;#x27;s and to merely skirt complexity entirely. However, for workflow and state management, you&amp;#x27;ll inevitably need some common integration point.</text></item><item><author>bsaul</author><text>I&amp;#x27;m back to java after having an unsatisfying experience 2 years ago with Spring MVC, (this time i use the &amp;quot;play framework&amp;quot;), and it seems to confirm my intuition that the language itself is really just fine. 
The problem lies more in bloated frameworks and corporate culture where everything needs to be standardized, regulated, and the purpose of a mandatory non-free training session.&lt;p&gt;Add to that the fact that every single topic is covered by at least 3 or 4 libraries, and you get a more complete view of the situation.</text></item></parent_chain><comment><author>andyroid</author><text>I did a side project in Play! some time ago. While it was generally OK to use, Java in Play is definitely a second class citizen compared to Scala. Most documentation (which btw is sorely lacking) concerns how to do stuff with Scala and you&amp;#x27;ll have to figure out how to do the same in Java yourself.&lt;p&gt;Even worse, breaking backwards compatibility between even minor releases seems to be standard for this framework. So once you&amp;#x27;ve finally managed to find some piece of documentation from some random source on the net (as again, the official documentation is pretty much a joke) you&amp;#x27;ll find that it doesn&amp;#x27;t work at all because it was written with Play! 2.0 in mind which is different from 2.1 which is different from 2.2 and so on.&lt;p&gt;Once you figure it out, it&amp;#x27;s a pretty nice framework. It&amp;#x27;s a shame so little attention seems to be paid to exposing that in a better fashion.</text></comment>
<story><title>An Opinionated Guide to Modern Java Development, Part 1</title><url>http://blog.paralleluniverse.co/2014/05/01/modern-java/</url></story><parent_chain><item><author>twistedpair</author><text>How&amp;#x27;s Play! compare to Spring? I&amp;#x27;m working on a bloated Spring whale (1.5M LoC, 485 Spring XML config files) and wondering if  something like Play! can do it better, or if complexity is simply a beast that will inevitably turn any project into a turgid mass.&lt;p&gt;I ask since friends at Google will laugh at a bar if you even say &amp;quot;Spring,&amp;quot; but I&amp;#x27;m curious what else can do it all (Guice&amp;#x2F;Gin?). Perhaps nothing can and the trick is to simply have small, cohesive projects linked by common REST (et al) API&amp;#x27;s and to merely skirt complexity entirely. However, for workflow and state management, you&amp;#x27;ll inevitably need some common integration point.</text></item><item><author>bsaul</author><text>I&amp;#x27;m back to java after having an unsatisfying experience 2 years ago with Spring MVC, (this time i use the &amp;quot;play framework&amp;quot;), and it seems to confirm my intuition that the language itself is really just fine. 
The problem lies more in bloated frameworks and corporate culture where everything needs to be standardized, regulated, and the purpose of a mandatory non-free training session.&lt;p&gt;Add to that the fact that every single topic is covered by at least 3 or 4 libraries, and you get a more complete view of the situation.</text></item></parent_chain><comment><author>lmm</author><text>Spring is a huge umbrella project that contains many parts, some good, some not so good. Guice or picocontainer work well, but you can achieve the same effect by using spring&amp;#x27;s Java configuration and avoiding silly things (AOP, shudder), and that way you can migrate existing spring XML piece by piece.&lt;p&gt;If you&amp;#x27;re writing an actual webapp (i.e. something that outputs html) then I highly recommend Wicket; it&amp;#x27;s the most beautiful framework I&amp;#x27;ve ever used, in any language. If it&amp;#x27;s just REST APIs I can&amp;#x27;t really recommend anything - by the time I started writing those I&amp;#x27;d switched to Scala (in which Spray is wonderful).</text></comment>