EXCEPTIONAL TRAINING COURSES FOR IT PROFESSIONALS
LONDON UK | ONSITE | ONLINE


Groovy Training Course

NEXT COURSE
18 Sep London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Groovy training course (code: GROOVY)

Gain Groovy Application Development Skills With The UK's Top Professionals At JBI Training


SEE MORE COURSES IN THIS CATEGORY

TRAINING COURSE OVERVIEW

Our Groovy training course provides an overview of Groovy architecture, and intensive hands-on experience in the development and implementation of Groovy applications. Groovy is a dynamic object-oriented programming language, with some similarities to Python, Perl, and Ruby.  Groovy is a dynamic programming language which is compiled to Java Virtual Machine bytecodes and works seamlessly with other Java code and libraries.

AUDIENCE

Java Programmers who require the skills to develop commercial Groovy or Java / Groovy applications.



DETAILHIGHLIGHTS

Rationale

Why does Java need a partner?
Who are the major players?: Jython, JRuby, Groovy, Groovy, Grails, SpringSource, VMWare.

The Infrastructure

Groovy support in Eclipse, NetBeans and IntelliJ IDEA.

Groovy support in IntelliJ IDEA is currently the best, but Eclipse support is not far behind.  Support for Groovy in NetBeans had been lagging behind quite badly but has recently had a large impetus.

Dynamic vs. Static Programming languages

Static typing, overloading.
Dynamic typing, polymorphic programming.
Duck typing.
EAFP:  easier to ask forgiveness than permission. 

The core issue here is the different way programmers have to think about type and typing in languages such as Groovy, Python, and Ruby compared to Java and Scala. The knock-on effect is the different way of handling polymorphic programming in static languages such as C++ and Java; polymorphism is usually handled by overloading.
Dynamic languages handle this very differently, duck typing.

Scripts vs Classes

Writing scripts instead of classes.
Writing classes as usual.

Java, indeed the JVM, requires all code to be contained within a class. Java has no facility for having code outside of a class. Groovy can be used to create classes, but it also has a script capability. Groovy scripts are still classes but the programmer sees a script and the Groovy system handles all the necessary infrastructure issues. 

 

Meta-object Protocol Why?

The crucial difference between statically-typed and dynamically-typed languages is that the latter generally have a met-object protocol; a way of redefining features of the language at program runtime. This completely changes the way problems are solved. Python, Perl, Ruby and Groovy all share this approach that was first worked out in Lisp and then Smalltalk.

 

Builders: The Big Win

Builders and domain-specific languages.
Using the meta object protocol to define language at runtime.

 

SwingBuilder

Constructing Swing/AWT interfaces the easy way.
Relationship to JavaFX.

Scripts vs Classes

Writing scripts instead of classes.
Writing classes as usual.

Java, indeed the JVM, requires all code to be contained within a class. Java has no facility for having code outside of a class. Groovy can be used to create classes, but it also has a script capability. Groovy scripts are still classes but the programmer sees a script and the Groovy system handles all the necessary infrastructure issues.

 

Meta-object Protocol Why?

The crucial difference between statically-typed and dynamically-typed languages is that the latter generally have a met-object protocol; a way of redefining features of the language at program runtime. This
completely changes the way problems are solved. Python, Perl, Ruby and Groovy all share this approach that was first worked out in Lisp and then Smalltalk.

 

Builders: The Big Win

 

Builders and domain-specific languages.
Using the meta object protocol to define language at runtime.

 

SwingBuilder

Constructing Swing/AWT interfaces the easy way.
Relationship to JavaFX.

 

XML and other markup

Reading, writing and processing XML.
Showing how Java makes this hard, and Groovy makes this easy.
Relationship with SAX, W3C DOM, JDOM and Dom4J.
Dynamic methods and GPath: who needs XPath?

 

Dependency and Build

AntBuilder: Groovy's interface to the Ant tasks.
Gant: a lightweight Groovy Ant task scripting framework.
Gradle: a Groovy Ivy-based build framework.
Gmaven: making Maven Groovy.

 

Concurrency and Parallelism Threads and java.util.concurrent

Groovy doesn't have explicit syntax for handling concurrency and parallelism, although it does makes using the Java standard library very easy.  On the other hand . . .

 

High-Level Concurrency and Parallelism using GPars

Groovy now comes with the GPars package as standard.  GPars provides APIs for actors, dataflows, concurrency sequential processes (CSP), data parallelism, and software transactional memory (STM).  These models for concurrency and parallelism are to be preferred to using shared-memory multi-threading.

 

Design strategies Java vs. Groovy

When to use Java, when to use Groovy.
How to make sure the integration is good and the problems few.

 

  • Learn the Groovy basics - language, syntax, potential uses.
  • Learn about the standard libraries, and the extras Groovy bring to them.
  • How Groovy integrates with other languages.
  • String and XML processing with Groovy.
  • Threading and synchronisation with Groovy.
  • Higher level abstractions for parallelism and concurrency
  • GUI development with Groovy.
  • Idiomatic use of Groovy.
Receive the latest version of this course into your inbox


See why people choose JBI

"At jbi even the sales team are technical so you are able to ask questions before the course"

Garima Aon

Blog (Show All)

JBI training course London UK

C++ : Find out why this old favourite is making a comeback ?

03/10/2017: Debates on the present state of C++ in the programming world divide the participants into two camps: some dislike C++ and predict it's imminent...


JBI training course London UK

Application Security training courses | 4 Reasons to gain secure coding skills

03/10/2017: Traditionally Cyber security has been associated mainly with penetrating networks and infrastructure. Now a more subtle level of attack needs...


JBI training course London UK

Python training | 3 Reasons why Developers and Scientists need Python

11/10/2017: Python has taken the world of software development by storm. Here are the reasons why: Python is simple enough to be used to teach young children...


Case Studies (Show All)

JBI training course London UK

Java Upgrade : Spring Boot, BDD and REST

11/10/2017: The training was to target a team of developers, with a mix of Java, C# and some C++. The team made heavy use of Java SE with some elements of...


JBI training course London UK

Modernising software development skills

07/10/2017: This client was expanding its capability to deliver technical training across EMEA. It had recently acquired a large technology company which...


JBI training course London UK

Increasing Mobile App Development resource

07/10/2017: This client had previously utilised third parties to develop and deliver its customer facing products and services. A strategy change required...


Call our Tech Team :  0800 028 6400  request info

 

PUBLIC COURSES (LONDON, UK)
 

18th Sep 2017 - 5 days £1995
Book

see all dates


X

Show Discount for this course


PRIVATE COURSES


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote


  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote


Get in touch
0800 028 6400





Our inspiring and up-to-date courses gain exceptional feedback

►"great tips help reduce build times"
► "we got access to exclusive content"
► "Short course meant less time off"

►"what an inspiring trainer !"
► "colleagues at 2 sites joined via web"
► "I passed my exam the next day"

Newsletter ! Get exclusive news about upcoming programs, technical insights & special offers