SlideShare a Scribd company logo
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.......

More Related Content

What's hot

GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
Soham Dasgupta
 
JHipster
JHipsterJHipster
JHipster
Yuen-Kuei Hsueh
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
Zeinab Mohamed Abdelmawla
 
Gradle
GradleGradle
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
Soham Dasgupta
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
bobo52310
 
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
Andriy Yun
 
Better java with design
Better java with designBetter java with design
Better java with design
Narayann Swaami
 
ng4 webpack and yarn in JHipster
ng4 webpack and yarn in JHipsterng4 webpack and yarn in JHipster
ng4 webpack and yarn in JHipster
Sendil Kumar
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
Michael Angelo Rivera
 
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
Deepu K Sasidharan
 
Code driven development in drupal
Code driven development in drupalCode driven development in drupal
Code driven development in drupal
Andriy Yun
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
Julien Dubois
 
Railsで春から始めるtdd生活
Railsで春から始めるtdd生活Railsで春から始めるtdd生活
Railsで春から始めるtdd生活
Yamamoto Kazuhisa
 
[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 ...
Srijan Technologies
 
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
sparkfabrik
 
Drupal contributor HOWTO
Drupal contributor HOWTODrupal contributor HOWTO
Drupal contributor HOWTO
Andriy Yun
 
Gradle by Example
Gradle by ExampleGradle by Example
Gradle by Example
Eric Wendelin
 

What's hot (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
 

Viewers also liked

Introduction to Grails Framework
Introduction to Grails FrameworkIntroduction to Grails Framework
Introduction to Grails Framework
PT.JUG
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
Infinity
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
Tugdual Grall
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
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…
Russel Winder
 
Groovy presentation
Groovy presentationGroovy presentation
Groovy presentation
Manav Prasad
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
 
Grails Overview
Grails OverviewGrails Overview
Grails Overview
Christopher Bartling
 
Application Architectures in Grails
Application Architectures in GrailsApplication Architectures in Grails
Application Architectures in Grails
Peter Ledbrook
 
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
Uehara Junji
 
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 2008Guillaume 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 grailsHoracio Gonzalez
 
Grails Un Framework Web Agile
Grails Un Framework Web AgileGrails Un Framework Web Agile
Grails Un Framework Web Agile
Nabil Adouani
 

Viewers also liked (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 to Introduction to Grails

Introduction to Grails
Introduction to GrailsIntroduction to Grails
Introduction to Grails
NexThoughts Technologies
 
Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01
Hiten Pratap Singh
 
Introduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeopleIntroduction To Groovy And Grails - SpringPeople
Introduction To Groovy And Grails - SpringPeople
SpringPeople
 
Grails
GrailsGrails
Grails
Aditya Gaur
 
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
OnGraph Technologies Pvt. Ltd.
 
Grails 101
Grails 101Grails 101
Grails 101
Lim Kin
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grails
George Platon
 
Grails
GrailsGrails
Grails
Vijay Shukla
 
Graphlab Create 簡介
Graphlab Create 簡介Graphlab Create 簡介
Graphlab Create 簡介
Simon Li
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJS
valuebound
 
Griffon demo
Griffon demoGriffon demo
Griffon demo
James Kirkbride
 
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
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
Kyuhyun Byun
 
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
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
SHASHI KUMAR
 
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
Roberto Pérez Alcolea
 
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
React Conf Brasil
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQL
WSO2
 
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
Katy Slemon
 

Similar to Introduction to Grails (20)

Introduction to Grails
Introduction to GrailsIntroduction to Grails
Introduction to Grails
 
Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01Inrotograils 140211155206-phpapp01
Inrotograils 140211155206-phpapp01
 
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
 

Recently uploaded

GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 

Recently uploaded (20)

GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 

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