When we were starting Merit Campus a few years back, we had to choose ‘Ruby On Rails (RoR)’ and ready made gems for speedy development. Ruby On Rails based on Ruby is definitely a concise programming language using which you can achieve more with less. But one drawback with RoR is its scalability.
Recently while figuring out a good framework for one of our customers (who insisted on good scalability) we came across Play Framework. To my surprise, it was not only easier to develop with RoR experience but amazingly fast while executing. The pages loaded much faster and the user experience improved drastically.
Play Framework was initially developed way back in 2007 and later major improvements were done. The latest release 2.5.9 was released in Oct 2016. Play gets a lot of design ideas from ASP.NET MVC, Ruby on Rails and Django and is very similar to these family of frameworks. Developers having prior experience in these will have a smooth ride while transitioning to Play Framework. Play is an open source framework contributed by developers across the world.
Play Framework is RESTful, highly secure, supports CRUD operations, allows model validations using annotations, gets a lot of support from JSON and XML, has persistence built using JPA/Ebean and has inbuilt Job Scheduler, SMTP mailer, and effective with multi-environment support.
One thing I personally like about Play Framework is that it supports automated unit testing. You can easily write tests for all the controllers, views, models and the utilities of the application. The ‘~testQuick’ feature is a boon for all the developers who like Test Driven Development (TDD). With this feature there is no need for running the tests manually, rather the moment you change any test or the controller the tests are triggered automatically. This feature drastically improves the speed of software development resulting in good and maintainable code.
You can develop better through activator with helpful templates. There are more than 250 templates available at Lightbend. These templates help you to jump start when you are looking to develop a new application instantly. There are templates for all possible combinations of technologies like MongoDB, Akka, Reactive Mongo, jQuery, Angular JS etc.
You need to be fairly good with Scala if you want to get the full benefits of Play Framework. Initially, Scala might look confusing but after a bit of learning, you will understand the beauty of concise programming.This might be a roadblock while starting but trust me it is worth the effort.
You can get started by downloading the activator and the latest version from https://www.playframework.com/ and using the templates from the Lightbend. There are lots of tutorials at https://www.playframework.com/documentation/2.5.x/Tutorials which will help to understand the framework quicker.
If you have any further questions please leave a comment or send out an email to firstname.lastname@example.org
All the best to learn the Play Framework.