Groovy Programming is an introduction to the Java-based scripting language Groovy. Groovy has much in common with popular scripting languages such as Perl, Python, and Ruby, but is written in a Java-like syntax. And, unlike these other languages, Groovy is sanctioned by the Java community for use on the Java platform. Since it is based on Java, applications written in Groovy can make full use of the Java Application Programmer Interfaces (APIs). This means Groovy can integrate seamlessly with applications written in Java, while avoiding the complexities of the full Java language. This bare-bones structure also means Groovy can be used as an introduction to Java and to programming in general. Its simpler constructions and modern origins make it ideal as a first language and for introducing principles such as object-oriented programming.
This book introduces all the major aspects of Groovy development and emphasizes Groovy's potential as a learning tool. Case studies and exercises are included, along with numerous programming examples. The book begins assuming only a general familiarity with Java programming, and progresses to discuss advanced topics such as GUI builders, Groovlets, Unit Testing, and Groovy SQL.
* The first comprehensive book on Groovy programming that shows how writing applications and scripts for the Java platform is fast and easy
* Written by leading software engineers and acclaimed computing instructors
* Offers numerous programming examples, code samples, detailed case studies, exercises for self-study, and a companion website with a Windows-based Groovy editor
Preface; Chapter 1: Groovy; Chapter 2: Numbers and Expressions; Chapter 3: Strings and Regular Expressions; Chapter 4: Lists, Maps and Ranges; Chapter 5: Simple Input and Output; Chapter 6: Case Study: A Library Application (Modelling); Chapter 7: Methods; Chapter 8: Flow of Control; Chapter 9: Closures; Chapter 10: Files; Chapter 11: Case Study: A Library Application (Methods); Chapter 12: Classes; Chapter 13: Case Study: A Library Application (Objects); Chapter 14: Specialization; Chapter 15: Unit Testing (JUnit); Chapter 16: Case Study: A Library Application (Specialization); Chapter 17: Persistence; Chapter 18: Case Study: A Library Application (Persistence); Chapter 19: XML Builders and Parsers; Chapter 20: GUI Builders; Chapter 21: Template Engines; Chapter 22: Case Study: A Library Application (GUI); Chapter 23: Server Side Programming; Chapter 24: Case Study: A Library Application (Web); Chapter 25: Epilogue; Bibliography; Appendix A: Software Distribution; Appendix B: Groovy; Appendix C: More on Numbers and Expressions; Appendix D: More on Strings and Regular Expressions; Appendix E: More on Lists, Maps and Ranges; Appendix F: More on Simple Input and Output; Appendix G: More on Methods; Appendix H: More on Closures; Appendix I: More on Classes; Appendix J: Advanced Closures; Appendix K: More on Builders; Appendix L: More on GUI Builders; Index