It could be very useful, especially when creating a pull request after you have faced a real problem. This structure is web-oriented. It is really easy to implement and handle code - back end and front end. Programming. Review collected by and hosted on G2.com.
I don't like the documentation. Also, this structure is less popular than Spring or Java EE - this means a lot of asking on StackOverflow or Play support group instead of having an answer on the board - Tooling around sbt can sometimes be very confusing - Scala sbt could be very slow - dependency resolution is slow - pulls a lot of things. Actually, I haven't hit many bugs yet, so this is my complete list. Spring had almost out of the box. Review collected by and hosted on G2.com.
The framework is asynchronous by nature, most of the things are possible to do in a non-blocking way. Akka Streams are in the core, and it gives agility to think in the more high-level way - not what to do with Data element, but how to handle a stream of things. Streams are well testable, and by the way, it's possible to cover nearly all aspects in Unit/Integrational tests - from Controllers, DAOs to business logic. The Play works great with Specs2/Scalatest, mocking frameworks (Mocito, Scalamoc) are also suited well. Evolutions feature gives the ability to manage database schema changes easily, not only in a forward way but also backward. One of the best JSON/XML parsing, validation and transformation technologies that I have ever used (and it's possible to use this JSON library independently from the Play Framework project). Review collected by and hosted on G2.com.
Sometimes documentation is tricky, needs time to dig into things that are not often used. Some parts (especially functional style things e.g. JSON parsers) are like a magic for newcomers, especially if a junior developer is starting in the project. The compiled application might have big size, but it's a drawback more JVM ecosystem than Play Framework itself. Review collected by and hosted on G2.com.
* Has a Java AND Scala DSL
* Encourages thinking about things asynchronously
* Access to an actor system out of box if actors needed
* Great framework for standing up apps quickly (CRUD apps, basic REST APIs)
* Auto recompilation when working in development mode Review collected by and hosted on G2.com.
* Out of box DI framework of choice is Guice (personal pref)
* Akka cluster support seems to require a bit of setup
* Scala DSL may have bit of learning curve Review collected by and hosted on G2.com.
Actually the best things are prolly the way how Forms are solved and how it integrates into Akka.
It's actually really great to get Forms, Json Handling and Webservices for Free, but you don't need to use all of them you could actually even just stick to the core.
Since Play 2.4 you could even create a server with just the play dependency.
Also since 2.4 DI is baked directly into the Framework which is really helpful when writing tests.
With Play 2.0 Java was a forgotten up until recently and when Play! 2.5 finally hits a lot of things on Java will also get way easier. However when running on Scala 2.11 a lot of interop code isn't actually great and needs some wrappers. These will also be resolved on Scala 2.12.
Actually even the team behind Play! could be really really helpful, especially when creating a Pull Request after you've hitten a real issue. They try to get the things done with you. Review collected by and hosted on G2.com.
- Tooling around sbt could sometimes be really messy
- Scala / sbt could be really slow
- Dependency resolution is slow
- Pulls in a lot of stuff
Actually I didn't hit many bugs yet, so this is my complete list. Review collected by and hosted on G2.com.
Ease. Works out of the box. Documentation for basic stuff is superb. Implementing of first working components is matter of hours - compared to tons of configuration in products like Spring. This framework is oriented on web. Template engine based on scala is superb. Easy to implement and readable for non Play dev - which is handy when you have front end dev who bravely fights with cross browser support. Another plus is ajax / websocket javascript template generator. Play enables you to have parametrized router available from javascript - so even if route changes - front end will still work. Ease of implementing websocket via akka framework is also superb. It is really easy to implement and handle from code - both back end and front end. Review collected by and hosted on G2.com.
Play - especially for java lacks of components compared to things like Spring. My last project didn't go with Play because of lack of java specific implementation of oAuth2 Server. Spring had it almost out of the box. Also this framework is less popular than Spring or Java EE - that means a lot of asking on StackOverflow or Play support group instead of having answer on the plate. Review collected by and hosted on G2.com.
This review is for Play Java 2.5. It makes some good opinions, and has the out-of-box features you'd expect for a Model View Controller framework. I do like that the most recent versions are heavily integrated (yet dependent) on great components, including Guice for dependency injection, Akka for non-blocking, lightweight concurrency, simple unit + functional testing, use of SBT, and the simple EhCache. I love that it's engineered for reactive programming. Review collected by and hosted on G2.com.
I dislike the documentation. The direction of Play's opinionated framework has changed quickly, but documentation isn't sufficient for each version, particularly Play Java. Review collected by and hosted on G2.com.
You can transcend skill sets by using Play! as an intermediary between having your development team learn a more modern JVM language (Scala) and Java. The framework's power can still very easily be seen using Java methods, and in-fact I personally prefer to use Java in my play projects.
The evolutions database migration system for maintaining updated database models is very, very useful.
The built in async patterns were really great to get long running backend processes working smoothly and easily. Review collected by and hosted on G2.com.
There seemed to be lots of boilerplate code that I would need to copy+paste; but that could be an attribute of how we setup our controllers. Review collected by and hosted on G2.com.
Environment Setup is so Easy. one Activator File does everything for us
AkkA Framework Support
Best Suit for Standalone Application
Scala is More Powerful that Java
Play Actor Concept is superb.
good for Micro Service Architecture
zero development environment setup: just unzip the package and run the runScript
Review collected by and hosted on G2.com.
Backward Compatibility is worst.
Cannot Create an application with older Version of Play Framework
Plugin Support is not as good as Grails & Groovy
Difficult to set up Integration Test.
need to be more Careful with Play Actor, since it create more number of Thread
there is no Security Framework
Modular programming is not well good
Review collected by and hosted on G2.com.