SlideShare una empresa de Scribd logo
1 de 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 Dynamic

–
●

Grails is Robust
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.......

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
 
JHipster
JHipsterJHipster
JHipster
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
 
Gradle
GradleGradle
Gradle
 
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
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
 
Better java with design
Better java with designBetter java with design
Better java with design
 
ng4 webpack and yarn in JHipster
ng4 webpack and yarn in JHipsterng4 webpack and yarn in JHipster
ng4 webpack and yarn in JHipster
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Code driven development in drupal
Code driven development in drupalCode driven development in drupal
Code driven development in drupal
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Railsで春から始めるtdd生活
Railsで春から始めるtdd生活Railsで春から始めるtdd生活
Railsで春から始めるtdd生活
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
Headless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIsHeadless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIs
 
Drupal contributor HOWTO
Drupal contributor HOWTODrupal contributor HOWTO
Drupal contributor HOWTO
 
Gradle by Example
Gradle by ExampleGradle by Example
Gradle by Example
 

Destacado

Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
guest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
JS Bournival
 
Grails Simple Login
Grails Simple LoginGrails Simple Login
Grails Simple Login
moniguna
 
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008
Guillaume Laforge
 
Enib cours c.a.i. web - séance #5 : td grails
Enib   cours c.a.i. web - séance #5 : td grailsEnib   cours c.a.i. web - séance #5 : td grails
Enib cours c.a.i. web - séance #5 : td grails
Horacio Gonzalez
 

Destacado (15)

Introduction to Grails Framework
Introduction to Grails FrameworkIntroduction to Grails Framework
Introduction to Grails Framework
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Why Groovy When Java 8 or Scala, or…
Why Groovy When Java 8 or Scala, or…Why Groovy When Java 8 or Scala, or…
Why Groovy When Java 8 or Scala, or…
 
Groovy presentation
Groovy presentationGroovy presentation
Groovy presentation
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
 
Grails Overview
Grails OverviewGrails Overview
Grails Overview
 
Application Architectures in Grails
Application Architectures in GrailsApplication Architectures in Grails
Application Architectures in Grails
 
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
Grails Simple Login
Grails Simple LoginGrails Simple Login
Grails Simple Login
 
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008
 
Enib cours c.a.i. web - séance #5 : td grails
Enib   cours c.a.i. web - séance #5 : td grailsEnib   cours c.a.i. web - séance #5 : td grails
Enib cours c.a.i. web - séance #5 : td grails
 
Grails Un Framework Web Agile
Grails Un Framework Web AgileGrails Un Framework Web Agile
Grails Un Framework Web Agile
 

Similar a Introduction to Grails

Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01
Hiten Pratap Singh
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
Hamed Hatami
 
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
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo
 

Similar a Introduction to Grails (20)

Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01
 
Introduction to Grails
Introduction to GrailsIntroduction to Grails
Introduction to Grails
 
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 簡介
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJS
 
Griffon demo
Griffon demoGriffon demo
Griffon demo
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
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...
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
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
 
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
 
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
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Introduction to Grails

  • 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 Dynamic – ● Grails is Robust 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