SlideShare a Scribd company logo
1 of 19
Inroduction to Grails
Hiten Pratap Singh
hitenpratap99@gmail.com
http://github.com/hitenpratap
Agenda
●
What is Grails?
●
Why Grails?
●
History of Grails
●
Technology stack of Grails
●
Directory structure of Grails
●
Main Components of Grails
●
Pros and Cons of Grails
●
WebSites using Grails
Agenda
●
Future of Grails
●
References
What is Grails?
●
Grails is an open source web application framework
●
uses the Groovy programming language
●
following the "coding by convention" paradigm
●
providing a stand-alone development environment and
hiding much of the configuration detail
●
Also following DRY(don't repeat yourself) paradigm
●
Grails is highly inspired from Ruby on Rails web framework
like DRY and COC principles.
Why Grails?
●
According to its official websites-
– Grails is Robust
– Grails is Dynamic
– Grails is Rapid
●
Most important reasion to use it is that it runs on JVM and
leverages all plus points of JAVA
●
Any Java developer can learn it very quickly rather than
migrate to other framework for RAD development.
●
Grails is agile and based on plugins means any
functionality can be attach/detach to it very easily.
Why Grails?
●
Grails is actually Spring and Hibernate plus trending
concepts from Ruby on Rails like DRY and COC etc.
●
It's very dynamic ecosystem
●
Very active developer community
●
Grails removes the need to add configuration in XML files
History of Grails
●
Grails was previously known as 'Groovy on Rails
●
Work began in July 2005, with the 0.1 release on March
29, 2006
●
Graeme Rocher is project head and creator of Grails
framework.
●
Grails is made by G2One, later acquired by Spring Source.
●
It developed due to need of RAD framework for JAVA
programmer community like Ruby on Rails in Ruby
programmer community.
Technology stack of Grails
Directory structure of Grails
%PROJECT_HOME%
+ grails-app
+ conf --->
location of configuration
artifacts
+ hibernate --->
Directory structure of Grails
+ util --->
location of special utility
classes
+ views --->
location of views
+ layouts --->
Main components of Grails
Actually as a MVC framework there are only three main
component of Grails and they are-
●
Model(domain)
●
Controller
●
View
But there are many other essential components of Grails
which makes it different from others like-
●
Services
Main components of Grails
●
Taglib
●
Plugins
●
Templating
Pros and cons of using Grails
What are the advantages?
●
It provides a rapid development cycle.
●
The framework offers a range of plug-ins to make your
development simple.
●
You can see the changes by hitting the refresh button.
●
Dynamic configuration feature. Therefore, you can change
the configuration without server restart.
●
The setup process is very simple. Therefore, you should
be able to start building an app in an hour.
Pros and cons of using Grails
What are the disadvantages?
●
Interpreted languages increase weight and that directly
affects the run time.
●
It works with GORM but not with any other ORMs.
●
Developers generally declare variables with “def” which is
equivalent to “object”. It’s very hard to maintain.
●
You have to deal with runtime language.
WebSites Using Grails
Folowing websites are currently using Grails-
●
Netflix Asgard - https://github.com/Netflix/asgard
●
NOW TV - http://nowtv.com
●
Vodafone Music - http://music.vodafone360.com/gb/en
●
Sky TV Guide - http://tv.sky.com/
and many more.......
source:
http://grails.org
Future of Grails
●
Grails 3.0 will separate Grails from the traditional
application server and extend Grails’ reach to allow for the
development of lightweight, asynchronous applications.
●
Grails’ persistence technology GORM has also been
evolving beyond the traditional relational database, with
implementations for NoSQL databases now available.
●
GORM will continue to be an important technology for us
as enterprise data fabrics evolve.
Source:http://www.cacoethes.co.uk/blog/groovyandgrails/where-next-for-grails
References
●
http://grails.org
●
http://grails.org/websites
●
http://www.cacoethes.co.uk/blog/groovyandgrails/where-next-fo
●
http://en.wikipedia.org/wiki/Grails_(framework)
Any questions?
Thank You.......

More Related Content

What's hot

Code driven development in drupal
Code driven development in drupalCode driven development in drupal
Code driven development in drupalAndriy Yun
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with GradleEric Wendelin
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project ManagersOyeLabs
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?John Congdon
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)Dhilipsiva DS
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2WSO2
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Igalia
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)Pedro Moreira da Silva
 
GitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabGitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabFatih Acet
 
Nuxeo World Session: GWT Integration
Nuxeo World Session: GWT IntegrationNuxeo World Session: GWT Integration
Nuxeo World Session: GWT IntegrationNuxeo
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git togetherColdFusionConference
 
World is changed. i feel it in the front end
World is changed. i feel it in the front endWorld is changed. i feel it in the front end
World is changed. i feel it in the front endAndriy Yun
 
Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Vasil Remeniuk
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
 

What's hot (17)

Code driven development in drupal
Code driven development in drupalCode driven development in drupal
Code driven development in drupal
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project Managers
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
 
GitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabGitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLab
 
Nuxeo World Session: GWT Integration
Nuxeo World Session: GWT IntegrationNuxeo World Session: GWT Integration
Nuxeo World Session: GWT Integration
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
World is changed. i feel it in the front end
World is changed. i feel it in the front endWorld is changed. i feel it in the front end
World is changed. i feel it in the front end
 
Platform SDK Update
Platform SDK UpdatePlatform SDK Update
Platform SDK Update
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 

Viewers also liked

Masthead and colour pallet
Masthead and colour palletMasthead and colour pallet
Masthead and colour palletDaleisio
 
Sa075 ii secundaria-paula cuayla _los referentes textuales
Sa075 ii secundaria-paula cuayla _los referentes textualesSa075 ii secundaria-paula cuayla _los referentes textuales
Sa075 ii secundaria-paula cuayla _los referentes textualesPaula Cuayla
 
Creating the double page spread
Creating the double page spreadCreating the double page spread
Creating the double page spreadDaleisio
 
Sa0074 ii secundaria-paula cuayla_setiembre_diversidad
Sa0074 ii secundaria-paula cuayla_setiembre_diversidadSa0074 ii secundaria-paula cuayla_setiembre_diversidad
Sa0074 ii secundaria-paula cuayla_setiembre_diversidadPaula Cuayla
 
Angular js
Angular jsAngular js
Angular jsmiladiir
 
Google AdWords на поиске
Google AdWords на поискеGoogle AdWords на поиске
Google AdWords на поискеsmakkon
 
Сайт для автосервиса
Сайт для автосервисаСайт для автосервиса
Сайт для автосервисаsmakkon
 
Контекстная реклама, предугадывающая потребность
Контекстная реклама, предугадывающая потребностьКонтекстная реклама, предугадывающая потребность
Контекстная реклама, предугадывающая потребностьsmakkon
 
TFS Release Management Deep Dive
TFS Release Management Deep DiveTFS Release Management Deep Dive
TFS Release Management Deep DiveNico Orschel
 

Viewers also liked (13)

Ad Mob Overview 06 08
Ad Mob Overview 06 08Ad Mob Overview 06 08
Ad Mob Overview 06 08
 
Masthead and colour pallet
Masthead and colour palletMasthead and colour pallet
Masthead and colour pallet
 
Sa075 ii secundaria-paula cuayla _los referentes textuales
Sa075 ii secundaria-paula cuayla _los referentes textualesSa075 ii secundaria-paula cuayla _los referentes textuales
Sa075 ii secundaria-paula cuayla _los referentes textuales
 
Creating the double page spread
Creating the double page spreadCreating the double page spread
Creating the double page spread
 
Sa0074 ii secundaria-paula cuayla_setiembre_diversidad
Sa0074 ii secundaria-paula cuayla_setiembre_diversidadSa0074 ii secundaria-paula cuayla_setiembre_diversidad
Sa0074 ii secundaria-paula cuayla_setiembre_diversidad
 
Angular js
Angular jsAngular js
Angular js
 
Git基础培训
Git基础培训Git基础培训
Git基础培训
 
El peluche quitamiedos
El peluche quitamiedosEl peluche quitamiedos
El peluche quitamiedos
 
Google AdWords на поиске
Google AdWords на поискеGoogle AdWords на поиске
Google AdWords на поиске
 
Сайт для автосервиса
Сайт для автосервисаСайт для автосервиса
Сайт для автосервиса
 
Контекстная реклама, предугадывающая потребность
Контекстная реклама, предугадывающая потребностьКонтекстная реклама, предугадывающая потребность
Контекстная реклама, предугадывающая потребность
 
TFS Release Management Deep Dive
TFS Release Management Deep DiveTFS Release Management Deep Dive
TFS Release Management Deep Dive
 
Atlassian Jira
Atlassian JiraAtlassian Jira
Atlassian Jira
 

Similar to Introduction to the Grails Web Framework

Introduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeopleIntroduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeopleSpringPeople
 
Grails 101
Grails 101Grails 101
Grails 101Lim Kin
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grailsGeorge Platon
 
Graphlab Create 簡介
Graphlab Create 簡介Graphlab Create 簡介
Graphlab Create 簡介Simon Li
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!Kyuhyun Byun
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJSvaluebound
 
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherReact Conf Brasil
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL StackSashko Stubailo
 
Introduction to Grails 2013
Introduction to Grails 2013Introduction to Grails 2013
Introduction to Grails 2013Gavin Hogan
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVMSHASHI KUMAR
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQLWSO2
 
Advantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworksAdvantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworksKaty Slemon
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February markghiasy
 

Similar to Introduction to the Grails Web Framework (20)

Introduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeopleIntroduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeople
 
Grails
GrailsGrails
Grails
 
One-stop solution for Grails web app development
One-stop solution for Grails web app developmentOne-stop solution for Grails web app development
One-stop solution for Grails web app development
 
Grails 101
Grails 101Grails 101
Grails 101
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grails
 
Grails
GrailsGrails
Grails
 
Graphlab Create 簡介
Graphlab Create 簡介Graphlab Create 簡介
Graphlab Create 簡介
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJS
 
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
 
Introduction to Grails 2013
Introduction to Grails 2013Introduction to Grails 2013
Introduction to Grails 2013
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQL
 
Advantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworksAdvantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworks
 
Gradle - Build System
Gradle - Build SystemGradle - Build System
Gradle - Build System
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February
 

Introduction to the Grails Web Framework

  • 1. Inroduction to Grails Hiten Pratap Singh hitenpratap99@gmail.com http://github.com/hitenpratap
  • 2. Agenda ● What is Grails? ● Why Grails? ● History of Grails ● Technology stack of Grails ● Directory structure of Grails ● Main Components of Grails ● Pros and Cons of Grails ● WebSites using Grails
  • 4. What is Grails? ● Grails is an open source web application framework ● uses the Groovy programming language ● following the "coding by convention" paradigm ● providing a stand-alone development environment and hiding much of the configuration detail ● Also following DRY(don't repeat yourself) paradigm ● Grails is highly inspired from Ruby on Rails web framework like DRY and COC principles.
  • 5. Why Grails? ● According to its official websites- – Grails is Robust – Grails is Dynamic – Grails is Rapid ● Most important reasion to use it is that it runs on JVM and leverages all plus points of JAVA ● Any Java developer can learn it very quickly rather than migrate to other framework for RAD development. ● Grails is agile and based on plugins means any functionality can be attach/detach to it very easily.
  • 6. Why Grails? ● Grails is actually Spring and Hibernate plus trending concepts from Ruby on Rails like DRY and COC etc. ● It's very dynamic ecosystem ● Very active developer community ● Grails removes the need to add configuration in XML files
  • 7. History of Grails ● Grails was previously known as 'Groovy on Rails ● Work began in July 2005, with the 0.1 release on March 29, 2006 ● Graeme Rocher is project head and creator of Grails framework. ● Grails is made by G2One, later acquired by Spring Source. ● It developed due to need of RAD framework for JAVA programmer community like Ruby on Rails in Ruby programmer community.
  • 9. Directory structure of Grails %PROJECT_HOME% + grails-app + conf ---> location of configuration artifacts + hibernate --->
  • 10. Directory structure of Grails + util ---> location of special utility classes + views ---> location of views + layouts --->
  • 11. Main components of Grails Actually as a MVC framework there are only three main component of Grails and they are- ● Model(domain) ● Controller ● View But there are many other essential components of Grails which makes it different from others like- ● Services
  • 12. Main components of Grails ● Taglib ● Plugins ● Templating
  • 13. Pros and cons of using Grails What are the advantages? ● It provides a rapid development cycle. ● The framework offers a range of plug-ins to make your development simple. ● You can see the changes by hitting the refresh button. ● Dynamic configuration feature. Therefore, you can change the configuration without server restart. ● The setup process is very simple. Therefore, you should be able to start building an app in an hour.
  • 14. Pros and cons of using Grails What are the disadvantages? ● Interpreted languages increase weight and that directly affects the run time. ● It works with GORM but not with any other ORMs. ● Developers generally declare variables with “def” which is equivalent to “object”. It’s very hard to maintain. ● You have to deal with runtime language.
  • 15. WebSites Using Grails Folowing websites are currently using Grails- ● Netflix Asgard - https://github.com/Netflix/asgard ● NOW TV - http://nowtv.com ● Vodafone Music - http://music.vodafone360.com/gb/en ● Sky TV Guide - http://tv.sky.com/ and many more....... source: http://grails.org
  • 16. Future of Grails ● Grails 3.0 will separate Grails from the traditional application server and extend Grails’ reach to allow for the development of lightweight, asynchronous applications. ● Grails’ persistence technology GORM has also been evolving beyond the traditional relational database, with implementations for NoSQL databases now available. ● GORM will continue to be an important technology for us as enterprise data fabrics evolve. Source:http://www.cacoethes.co.uk/blog/groovyandgrails/where-next-for-grails