This is my Yet Another Attempt to Learn Something New
From the discussions here, I got to know about the Play Framework. So I started to play around- Hello World project, started the Sample project, going through the Framework documentation. So here are my first thought about the framework- And this is my first attempt to have gone a bit deeper into a Java Web Framework so I might not be able to appreciate the same features in other frameworks.
- Totally inspired by Rails and of course Grails- Not much of configurations (expect the application configuration), based on convention over configuration.
- No restart of server required after compiling Java changes- Framework compiles them on the fly and hot deploy the compiled classes. For that matter Java developers would be surprised to see that there’s is not folder to store the class files in the Application structure. The class files are cached in a tmp folder. In one of the stalls in one of the conferences I had heard about JavaRebel plugin which would had hot reload, it really didn’t inspire me that much at that time.
- Pretty catchy error messages on the web page – With the line number and the exact errors being highlighted in the code snippet shown on the web page. This is possible due to the hot-reload when the framework can pick the error and throw it to the user via the web page.
- And it uses Java- So you need not have to learn any new language- For Rails you would require Ruby, for Grails- Groovy.
- For the Development mode- It comes with the complete stack- In memory DB , Application server, ORM layer and all other required plugins. Also one can install modules like- Facebook Connect, Facebook Social graph and so on.
- You can hardly/not at all find the mention of Servlets anywhere in the framework. Also it follows the REST style. So you can have cleaner URLS. And no web.xml to configure your URL-Servlet mapping.
- Good template for creating View pages- based on Groovy. Also provides an option to create an hierarchy of templates- Make one to extend the other template.
- Good support for Development with Testing. One can write JUnit tests for the back end, Selenium tests for the view related tests.
This is a really different framework when compared to the conventional Java web frameworks. I have just started to learn this framework. Do drop in your thoughts/concerns about this framework.
Update:
Removed the concerns- As they were not applicable and were really not counted as concerns. All those gimmicks was during the development time.