
After a year of development and three release candidates, the SpringSource team presented a new version of the web framework - Grails 2.0. I often use Grails in my projects and closely monitor the process of developing and releasing new releases.
It is interesting to note that the release was originally planned for Grails 1.4, but there were too many fundamental changes, and Grails assigned version 2.0.
So I will list what's new in the new reincarnation of Grails:
- Support for the latest Groovy 1.8, Spring 3.1 and Hibernate 3.6 libraries
- Servlet API 3.0 specification asynchronous call support
- New unit test API with full GORM emulation support
- Improved and more stable mechanism for restarting resources (well, finally)
- New features of GORM: detached criteria, where-requests, support for multiple data source
- Dynamic reload of domain classes
- Color console c "tab completion" (in practice, I use it only through the IDE, and you?)
- Updated "scaffolding" now GUI is built on HTML5 without Javascript
- New framework for managing static resources (CSS, Javascript, Images)
- H2 Database instead of HSQLDB, requests for H2 can be run directly from the browser console
- jQuery instead of the Prototype library
- Willingness to deploy on a cloud platform (based on the Heroku plugin)
- NoSQL plug-ins released for GORM (MongoDB, Redis and Riak)
In my opinion, the most fundamental change in Grails is the new mechanism for reloading changes.
Earlier, the framework used class-loaders, in the new release this approach was replaced by the JVM agent. According to the developers, this change greatly improved the stability of the process of reloading changes, since the class files that are stored on the disk remain consistent with the class files that are loaded in memory.
For us, this means that we will use the clean command much less often, another good news.
This is just a short list of innovations that I identified as the most important; again
that there are really a lot of them - by the way, about 900 (!) defects were fixed during development.
You can read a full description of innovations in
the innovations section .
')
The new version is available for download on the official
website of the project .