Grails - Overview



What is Grails?

Grails is an open source, full stack, web application framework based on Groovy and Java programming language.

History

Grails is developed by Graeme Rocher and is initially released in October 2005 under the licence Apache 2.0. The latest stable release is 6.2.3.

Components of Grails

Grails includes many out-of-the-box components where each component owns a feature.

  • GORM, an object mapping library supporting SQL, MongoDB, Neo4j and many more.

  • View technologies to render HTML and JSON.

  • Spring Boot to build controller layer.

  • Plugin ecosystem having hundreds of plugins.

  • Profiles to create application using angular, react and so on.

  • Command Line Environment to build system using Gradle.

  • Embedded Tomcat container to test application and on the fly reloading.

Sub-projects of Grails

Grails ecosystem is made up of various sub-projects which makes Grails highly modular. Some of the key sub-projects are following −

  • GORM for Hibernate − An Object Mapping implementation for SQL databases like MySQL, Oracle.

  • GORM for MongoDB − An Object Mapping implementation for the Document Database like MongoDB.

  • GORM for Neo4j − An Object Mapping implementation for Graph Database like Neo4j.

  • JSON Views − A View technology to render JSON on the server side.

  • Groovy Server Pages − A View technology for to render HTML and other markup on the server.

  • Async Framework − Asynchronous programming support for RxJava, GPars and more.

Why to use Grails?

  • It has a very responsive community support for both new as well as seasoned users.

  • It makes a Java developer very easy to get started with using grails web-application development.

  • It easily integrates with the Java code that is already written.

  • It has a large amount of plugins available.

  • It provides a mechanism to reload and apply your changes.

Features

  • It works on the principal of DRY and Convention over Configuration pattern.

  • It provides an interactive mode for faster execution of Grails commands.

  • It provides the integration with the Quartz Scheduler.

  • It has a built-in support for Ajax, validation, unit and functional testing.

  • It provides a stand-alone development environment and hides the configuration from the developer.

Advertisements