Groovy, Grails, & Gr8Ladies
Upcoming SlideShare
Loading in...5
×
 

Groovy, Grails, & Gr8Ladies

on

  • 109 views

The Intro to Groovy and Grails talk I had prepared but wasn't able to give at She's Geeky.

The Intro to Groovy and Grails talk I had prepared but wasn't able to give at She's Geeky.

Statistics

Views

Total Views
109
Views on SlideShare
109
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Groovy, Grails, & Gr8Ladies Groovy, Grails, & Gr8Ladies Presentation Transcript

  • She’s Geeky Minneapolis, MN Feb 21-22, 2014
  •  Gvmtool.net  curl –s get.gvmtool.net | bash  gvm install groovy  gvm install grails
  •  An organization for the support of women in the Gr8 stack community  Goals:  Educating women  Networking  Professional Development  Contact Us  @Gr8Ladies on twitter  Gr8Ladies.org  LinkedIn
  •  Groovy – the language  Grails – MVC framework for JVM  Gradle –build automation tool  Now used to build Android Apps  Griffon – desktop app framework  Spock – testing framework  Many other minor frameworks and development tools
  • Image via: http://blogs.vitoria-gasteiz.org/ti/2010/05/31/full-stack/ c
  •  easy to learn dynamic language similar to Python, PHP, Ruby, and Perl  optional typing  default scope  optional getters/setters  Compiled to bytecode for the JVM  Integrates with existing JAVA libraries and infrastructure  #groovylang
  •  In Java,  In Groovy,
  •  Elvis Operator ?:  In PHP:  In Groovy:
  •  Ranges  A collection of numbers defined by boundaries  Spread dot  Applies a function to every element of a collection and returns the result
  •  Null safe  User?.chapter?.toUpperCase()  will return null if user or chapter is null and will not return an error  Groovy Truth  Null, empty string, empty set, and 0 are all false!
  • Image via: http://blogs.vitoria-gasteiz.org/ti/2010/05/31/full-stack/ c
  •  MVC framework  similar to Symphony in PHP, Django in Python, or Ruby on Rails  Convention over configuration  Built on Hibernate and Spring  Dependency Injection  #grailsfw
  •  Domain Classes  Grails Object Relationship Mapping(GORM)  Uses Hibernate  Class names map to tables  Field names map to columns  Dynamic finders  User.findAllByGenderAndChapterIsNotNull(‘F’)  Events  beforeInsert, afterUpdate, beforeDelete  Alternatives include Mongo and Redis
  •  Mapped to urls by name  /user/list  UserController.list()  Url Parameters map to controller  /user/show/id UserController.show(id)
  •  GSP(Groovy Server Page)  Similar to a JSP  Directory structure by convention  UserController.list() renders /views/user/list.gsp  Special tags for forms, links, and other tasks  Reference model data by ${model.attribute}
  •  Lots of Options for writing tests  Spock (default)  JUnit  Geb
  •  GVM!  Groovy enVironment Manager  curl –s get.gvmtool.net | bash  gvm install groovy  gvm install grails  And you’re done!
  •  grails create-app appName  auto generates app structure  grails create-domain-class User  Creates domain class and test file  grails generate-all User  Auto generates views and controllers based on the properties of the domain class
  •  Grails war  Defaults to target/appName-0.1.war  Deploy to JVM  Example via Amazon ElasticBeanstalk
  •  Making Java Groovy – Ken Kousen  Email jstrater@gr8ladies.org for coupon code  Programming Grails – Bert Beckwith (O’reilly animal book)  Groovy In Action - Dierk Koenig with Andrew Glover, Paul King, Guillaume Laforge and Jon Skeet  Many Tutorials available on grails.org
  •  Come to Groovy Users of Minnesota(GUM) every second Tuesday of the month at Smart Things  Join Gr8Ladies for hack sessions and contribute to the gr8ladies website on github