Groovy and Grails Application Development (with Passion!)

Sang Shin, www.javapassion.com/groovyandgrails, class forum



    



Groovy is the leading open source dynamic language for the Java Virtual Machine that offers a flexible Java-like syntax that most Java developers can learn in matter of hours. Groovy provides features seen in other dynamic languages like Ruby, Python or Smalltalk. Groovy really shines in its ability to easily define internal Domain Specific Languages (DSLs) that can be used as an abstraction layer that enables non-technical subject matter experts to codify business rules.

Grails is an advanced and innovative open source web application platform that delivers new levels of developer productivity by applying principles like Convention over Configuration. Grails helps development teams embrace agile methodologies, deliver quality applications in reduced amounts of time, and focus on what really matters: creating high quality, easy to use applications that delight users. Grails naturally complements Java application development since it is built on Spring and based on Groovy, the leading dynamic language for the Java platform.

The combination of Groovy and Grails offers productivity benefits rivaling Ruby on Rails, but on the proven, scalable, and seamlessly integrated Java platform.



Message to potential attendees

Announcement from Sang Shin (Feb. 1st, 2010):  In the near future, the courses in javapassion.com will be available as a subscription-based service. (Yes, it is a painful decision on my part.)  If you want to receive course announcement in the future, please send an blank email to javapassion-announcement+subscribe@googlegroups.com.  

If you have any further questions, please see http://www.javapassion.com/coursefaq.html#conversion



How to register for this course

In order to register for this course, all you have to do is sending a blank email to the following email address. 

Basically, when you send a blank email to the above, you are subscribing our class forum. This forum can be used for posting questions/answers.  Please use this forum for all class related communication (technical or non-technical). 

If you have any further questions on this course, please see the course FAQ below . Please read thie FAQ first before you post a question to the course email alias.



Topics and Schedule


Note that only the topics with the dates assigned will be covered in this course. (You need to submit homeworks only on the topics that have dates.) Given that this is the first time this course is being offered, the topics and dates are subject to change as we move along!

  1. Groovy Basics -
  2. Groovy Blocks and Closures
  3. Groovy Builders -
  4. Groovy Meta-programming -
  5. Scaffolding 
  6. Grails Basics  -
  7. GORM (Application Domain) Basics  -
  8. GORM Associations Basics
  9. Grails Controller Basics -
  10. Groovy Server Pages Basics -
  11. RESTful Grails -
  12. Testing -
  13. Ajax support  -
  14. Deployment  -
  15. Security -
  16. Reporting -
  17. Spring integration -
  18. Griffon -

Groovy Basics



                                                                                                                              return to topics

Groovy Blocks and Closures



                                                                                                                              return to topics


Groovy Meta Programming



                                                                                                                              return to topics


Groovy Builders



                                                                                                                              return to topics

Scaffolding



                                                                                                                              return to topics


Grails Basics



                                                                                                                              return to topics



GORM Basics


                                                                                                                              return to topics


GORM Associations Basics



                                                                                                                              return to topics

Grails Controller Basics



                                                                                                                              return to topics


Groovy Server Pages Basics



                                                                                                                              return to topics






REST Support



                                                                                                                              return to topics


Ajax


Topics covered: Ajax/JavaScript libraries in Grails, PrototypeHelper, ScriptaculousHelper, JavaScriptMacrosHelper, JavaScript related utility methods, Groovy JavaScript template
                                                                                                                              return to topics

Testing


Topics to be covered: Overview of Grails testing, Unit testing, Functional testing, Integration testing
                                                                                                                              return to topics


Deployment


Topics covered:
                                                                                                                              return to topics

Security


                                                                                                                              return to topics


Reporting


                                                                                                                              return to topics


Spring Integration


                                                                                                                              return to topics

Griffon


                                                                                                                              return to topics