Play vs Spring Framework: What to Choose?
You might already know that Play framework is extremely helpful if used along with java for development of web applications. Even though it is neither comparable to Netflix OSS and Istio, nor a direct competitor of both, it is somewhat similar to Spring and hence a direct competitor to it.
A Detailed Insight
Spring and Play are both created for the purpose of developing and deploying web applications with an enhanced efficiency. In addition to this, they also provide a better MVC framework for the same. Play is widely considered to be slightly better than Spring when it comes to speedy application building and making an application run quickly.
As Spring lost out to Play on many statistics, it decided to bring Spring boot in action, which is basically the combination of both Spring and Spring MVC, and some other freshly added features. Even though Spring boot was created to compete with Play, it has some individualistic characteristics as well. It emphasises on forming a huge enterprise of applications, relying on the multiple projects within the Spring ecosystem to make a hassle-free smooth working space.
Another tool of Spring which makes it adept at creating enterprise applications is known as Dependency Injection Library. This feature assists in injecting dependencies into a project which we cannot see in the Play framework. Play does not mandate dependency injection, as it is not a core competency of its own.
There is no questioning about the efficiency and power of both the frameworks and yet it can be really difficult to choose between the two. Play framework has all the core modules written in Scala meanwhile when you use Spring, you will have to work on top of Java. The sole demerit of using Play is the sub-par support for Java. As it is Scala dominated, you might have a difficult time adjusting to it.