Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

test page for Grails projects

Key Points

  1. Grails scaffolding and GORM is IBM i DFU on steroids - any database, any Java runtime environment
  2. Where it fits, Grails is the fastest way to build Web apps or microservices using the right templates
  3. Grails generated apps provide a good starting point to understand how Web and REST microservices are built
  4. Grails generates Spring Boot applications and REST services
  5. Grails can build traditional MVC web apps or REST microservices using templates and generators
  6. Grails can generate simple front-ends for REST microservices - Angular, React, Web
  7. Grails profiles define which options an application or service will use
  8. Grails uses Groovy - a Java superset and a dynamic JVM language
  9. Grails v4x will use Groovy v3x when available in 2020
  10. Groovy v3x will support latest Java versions ( Lamba expressions, modules etc )
  11. I should look at running Grails REST service in Docker container similar to a Spring Boot REST service
  12. Tracking Grails releases in Github ( milestones etc ) https://github.com/grails/grails-core/releases   

References

...

https://github.com/grails/grails-core/releases/tag/v4.1.0.M2

http://docs.grails.org/4.1.0.M1/guide/introduction.html#whatsNew

...

Table of Contents

test page for Grails projects

Key Points

  1. Grails scaffolding and GORM is IBM i DFU on steroids - any database, any Java runtime environment
  2. Where it fits, Grails is the fastest way to build Web apps or microservices using the right templates
  3. Grails generated apps provide a good starting point to understand how Web and REST microservices are built
  4. Grails generates Spring Boot applications and REST services
  5. Grails can build traditional MVC web apps or REST microservices using templates and generators
  6. Grails can generate simple front-ends for REST microservices - Angular, React, Web
  7. Grails profiles define which options an application or service will use
  8. Grails uses Groovy - a Java superset and a dynamic JVM language
  9. Grails v4x will use Groovy v3x when available in 2020
  10. Groovy v3x will support latest Java versions ( Lamba expressions, modules etc )
  11. I should look at running Grails REST service in Docker container similar to a Spring Boot REST service
  12. Tracking Grails releases in Github ( milestones etc ) https://github.com/grails/grails-core/releases   


References

grailsthreebookcomassetspdf/grails3book-sample-preview.pdf
Reference_description_with_linked_URLs_________________________Notes________________________________________________________________


https://grails.orgGrails

https://github.com/grails/grails-core/releases/tag/v4.1.0.M2

http://docs.grails.org/latest4.1.0.M1/guide/single.pdfintroduction.html#whatsNew

grails experimental downloads for 4.2, Groovy 3
https://drive.google.com/open?id=1mMT9PXJMt1LhKMlNIXYdvK17w9_sfSYkGrails 4.0 single pdfgrails.org/blog/index.htmlutm_campaign=2GM%20Community%
20Engagement&utm_medium=email&_hsmi=95220434&_hsenc=p2ANqtz--Gie_w6ROGkVF89tuvgvf0TvA5zGNNJOLiSLxRPsYRscSTXn6f_b5b9sjFqnW-HpRXh-Y5pJ7MiE3jgwUVf2JwyXRBrQ&utm_content=95220434&utm_source=hs_email
Grails blog
https://objectcomputinggithub.com/products/grails/grails-roadmapcore/releasesGrails roadmap to v4.0httpsreleases repo including Milestones *


http://docs.grails.org/latest/guide/introduction.htmlGrails 4.0 online doc

http://docs.grails.org/latest/guide/single.pdf

https://drive.google.com/open?id=1mMT9PXJMt1LhKMlNIXYdvK17w9_sfSYk

Grails 4.0 single pdf
https://objectcomputing.com/products/grails/grails-roadmapGrails roadmap to v4.0


https://grailsthreebook.com/assets/pdf/grails3book-sample-preview.pdf

https://drive.google.com/open?id=16CCCp9JIztLSy2dDVJl153aogU9klgDX

Grails 3 book - sample - rest api profile

https://www.slideshare.net/paulbowler/grails-patterns-and-practices

https://drive.google.com/open?id=1GluRzUKpndHmqx4C3a87H8o0nOTln50W

Grails Patterns and Practices slide deck

https://www.sapient.com/content/dam/sapient/sapientglobalmarkets/pdf/thought-leadership/MarProg_Grails_WP_Web.pdf

https://drive.google.com/open?id=165wtwVmVXBQU2JX5uQ2QyS6NXlceS8BU

Grails Overview and Best Practices Guide - v2.0
https://opensourceconnections.com/blog/uploads/2010/01/
Introduction_to_Groovy_and_Grails.pdf
Grails and Groovy Details - 2011

https://drive.google.com/open?id=0BxqKQGV-b4WQVHptM01wVHZQOE0

https://drive.google.com/open?id=0BxqKQGV-b4WQRE52M2ozU2RTR1k

Jim Mason - 2009 - Books Authors Web App in Grails in 1 hour

Lab loading instructions doc


Grails CRUD Scaffolding apps
https://drive.google.com/open?id=1CcNKF5Mab8po1R9G_BSrYQ-uYjf2qDM5Vogella - 2010 - Grails Web Blog app - decent example on v2.0
https://drive.google.com/file/d/1fL5Q9LH5WB8XsQw71JP_8GoCgjeQt7us/viewGrails Angular CRUD app example - manage customers - older



Grails REST api example - see docs
https://github.com/budjb/grails-jaxrsGrails REST Jax-RS generator plugin
http://budjb.github.io/grails-jaxrs/3.x/latest/Grails REST Jax-RS generator plugin documentation
https://grails.org/plugins/tag/jax-rsGrails REST Jax-RS plugin list


https://guides.grails.org/grails-vs-nodejs/guide/index.htmlTutorial Migrate React Node.js app to Grails backend






GORM
https://docs.grails.org/latest/guide/GORM.htmlGrails GORM overview

http://gorm.grails.org/6.1.x/hibernate/manual/

GORM documentation


https://github.com/smallnest/gen

Generates Go lang structs from many SQL databases

could create converter to generate simple domain classes for GORM









...

export PATH=/opt/local/bin:/opt/local/sbin:/Users/jimmason/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands:/usr/local/mysql:/usr/local/bin:usr/local/sbi:n

export MYSQL_JDBC=/Users/jimmason/_dev/lib/mysql-connector-java-5.1.34.jar

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

export GRAILS_HOME=/Users/jimmason/_dev/grails4

export PATH=$PATH:$GRAILS_HOME:$GRAILS_HOME/bin

export CLASSPATH=$MYSQL_JDBC:$CLASSPATH

echo $PATH

Grails 3x requires JDK8 not JDK11

verify JDK is JDK8 NOT JDK11 ( the default system JDK I set ) 

grails --version && groovy --version

Project References

...

n

export MYSQL_JDBC=/Users/jimmason/_dev/lib/mysql-connector-java-5.1.34.jar

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

export GRAILS_HOME=/Users/jimmason/_dev/grails4

export PATH=$PATH:$GRAILS_HOME:$GRAILS_HOME/bin

export CLASSPATH=$MYSQL_JDBC:$CLASSPATH

echo $PATH


Grails 3x requires JDK8 not JDK11

verify JDK is JDK8 NOT JDK11 ( the default system JDK I set ) 


grails --version && groovy --version




Project References



Key Concepts


Grails 6.1.2 Guide


Grails 6.2.2 Documentation on Books and Authors Controllers - Quickstart Guide


Implement business logic in service classes with Controller classes only managing request flow

Services can have defined scopes

Domain classes as REST resources

Transactional annotations for transaction behavior required 

n this example listBooks uses a read-only transaction, updateBook uses a default read-write transaction, and deleteBook is not transactional (probably not a good idea given its name).

https://docs.grails.org/6.1.2/guide/services.html

Multi-tenancy can be single database with discriminator column ( eg accountId ) or multi-database

https://guides.grails.org/discriminator-per-tenant/guide/index.html

https://guides.grails.org/database-per-tenant/guide/index.html

Build a Spring Boot application with Grails

Grails builds on Spring concepts

Scaffolding Views from Book class

Deploy as war or jar file


Grails Training

grails v4x books - authors 4 days
http://docs.grails.org/latest/

...