❯ Guillaume Laforge

Groovy

Feedback and actions for the new Groovy website

In this post, I’ll sum up the feedback we’ve gathered through the mailing-lists, Twitter, Google+, blog comments, Github issues, regarding the release of the beta of the new Groovy website.

Overall, so far, the feedback has been very positive, and people are very excited about the fresher and more modern look of the website, as well as happy to find relevant information more easily in a couple of clicks.

But like anything, there are various aspects we can improve! Some ideas exposed below were already elements we already had on our roadmap, or on the back-burner as nice-to-have’s, but it’s worth sharing them here and comment on them.

Read more...

Groovy Weekly #29

Keywords for today: beta Groovy website, Gradle roadmap, GR8Conf presentations!

It’s a launch day! The launch of the beta of the Groovy website, mentioned in the news section (and also a bug fix release with Groovy 2.3.4).

In the article section, you’ll find the link to Hans Dockter’s latest post on the Gradle forums which details what you can expect from future Gradle versions, and it’s very promising: think performance, parallelization, caching, sharing and tooling!

Read more...

Groovy 2.3.4 is out

We’re happy to announce the bug-fix release of Groovy 2.3.4.

In store, we continued on our hunt of bugs related to anonymous inner classes, and we have a big work on the compatibility of our AST transformations with static compilation.
Download Groovy 2.3.4 from our new website:

You can read the JIRA release notes.

Thanks to all those who contributed to this release!

Keep on Groovy-ing!


A new Groovy website in beta

The past few weeks, the Groovy team has been working on a new website for the project.

Without further ado, let me introduce you to its beta: http://beta.groovy-lang.org.

The website is actually a Groovy and Gradle application that you can fork and help us improve! So don’t hesitate to contribute fixes for things like typos or broken English, or suggest new relevant sections, etc. Your help will be welcome. Notice the “improve this doc” buttons on all pages which lead you to the relevant Github page that you can edit live, inline, on Github (if you’ve got an account already).

Read more...

Groovy Weekly #28

A big week for the Gradle team as they’ve just announced the final release of Gradle 2.0! It’s of course a very important milestone for the project, and it’s nice to see that the migration to Groovy 2.3 as a baseline.

There are also some updates to Grails, Ratpack, and also the launch of the Spring IO platform that you might be interested in.

You’ll see also a list of job postings for Netflix, where Groovy is deployed at a very large scale and who are always seeking Groovy talents.

Read more...

Groovy Weekly #27

This week, I’d like to highlight how you can contribute to the Groovy project!

The Groovy core team is a very small team, compared to the huge team a company like Oracle puts behind Java and the JVM, or Microsoft behind its languages and the .Net platform. So all contributions, in any form, count, and are important to the success and evolution of the Groovy language.

If you want to contribute to the code of Groovy, Cédric Champeau recorded a screencast showing how you can set up IntelliJ IDEA to be able to work on the Groovy codebase.

Read more...

Groovy related talks at JavaOne 2014

Oracle is publishing the agenda of the upcoming JavaOne 2014 conference. And I’d like to highlight the Groovy presentations I’ve noticed that you might be attending in following if you are in San Francisco:

  • Groovy in the Light of Java 8 [CON5839] With Java 8 out the door, Java developers can at last benefit from the long-awaited lambdas to taste the newly found functional flavor of the language. Streams are there to work more easily and efficiently with heaps of data. Those things are not new to developers acquainted with Groovy. But what is left to Groovy to make it attractive beyond all the aspects in which Java has caught up with Groovy? In this session, a Groovy project lead shows you how Groovy is still relevant in the JVM landscape, how similar or different Java and Groovy can be, how Groovy further improves the developer experience on top of JDK 8, and what Groovy offers beyond Java.
  • Groovy in 2014 and Beyond [CON5996] With three million downloads in a year, Groovy still clearly leads the pack of alternative languages on the JVM, but it’s not resting on its laurels. The latest Groovy release, 2.3, is chock-full of useful new features and performance improvements. In particular, Groovy now supports the concept of “traits” for elegantly composing behaviors. Its JSON support is now the most performant of all the JSON libraries available to date. Groovy 2.3 introduces a new markup-based template engine, new code transformations, and much more. In this session, a Groovy project lead guides you through the latest advancements in the Groovy programming language and tells you what’s cooking for the next releases.
  • Exploring Groovy Metaprogramming [CON1768] One of the key benefits of Groovy is its metaprogramming capability. The built-in features of the language enable you to realize AOP without the need for any heavyweight tools. This presentation takes an in-depth look at the metaprogramming capabilities of Groovy and explains when to use mixins, method injection, and method synthesis.
  • Functional Programmning the Groovy Way [CON3538] In recent years, functional programming has gained ground over object-oriented programming, mainly due to the advancement in computing power. The JVM is no exception. You can find powerful contenders in Clojure and Scala, but Groovy is not that far back in the race. The Groovy programming language contains a wide array of APIs and features that facilitate a functional programming style, such as closure composition, memorization, trampolines, and iterator methods. This session explores all of these features that are sure to spice up your daily experience.
  • Rethinking API Design with Groovy Traits [CON2425] Groovy 2.3 introduces the concept of traits in the language. Traits look like interfaces but enable the developer to add both implementation and state. They introduce multiple inheritance in the language while avoiding the diamond problem. Traits will let you rethink the way you design APIs in Groovy, by favoring composition of behaviors. This session explains what traits are, how they were implemented in Groovy, and what they have to offer to make your code more readable and maintainable.
  • Groovy and Grails Puzzlers: As Usual—Traps, Pitfalls, and End Cases [CON1764] Remember the epic Java puzzlers? Here’s the Groovy version, and there are some neat ones! Even though it is totally a Grails shop, some of these had JFrog people scratching their head for days, trying to figure them out. And there is more! Contributions from the truly Groovy senseis, including @glaforge, @aalmiray, @tim_yates, and @kenkousen, make this session an unforgettable journey to Groovy’s O_O. You’ll get the expected dose of fun and enlightenment while hearing about mistakes and failures, great and small, in hard-core Groovy/Grails development.
  • Applying Groovy Closures for Fun and Productivity [CON1769] You can program higher-order functions in Groovy quite easily by using closures, but the benefits of closures go far beyond that. Groovy has a variety of capabilities hidden in closures. This presentation unlocks that treasure and explores ways in which we can design applications by using Groovy closures to apply different design patterns, to create fluent interfaces, and even to program asynchrony.
  • HTML5/AngularJS/Groovy/Java and MongoDB Together: What Could Possibly Go Wrong? [CON1703] We hear it’s common to create a minimum viable product (MVP) in a language that facilitates rapid prototyping and then migrate to the JVM when the application requires better stability and performance. In this session, the speaker uses Java to create a web application in less than hour. The JVM is a polyglot platform, and you’ll learn how to use the correct tools for this application, including AngularJS, Bootstrap, HTML5, web services, Java, MongoDB, and Groovy—it’s fully buzzword-compliant. The presentation doesn’t go into every technology in depth but demonstrates the role of each tool and how the tools interact. The session will result in a fully working mobile/browser-friendly app without compromise of design or good practice. It’s even going to have tests.
  • Plugging Users In: Extend Your Application with Pluggable Groovy DSL [CON1752] It is often beneficial to enable users to extend your software with their own logic, and with dynamic languages on the JVM, it is also easy to do so. This session shares JFrog’s experience in creating a public, Groovy-authored user plug-in interface. It explains what domain-specific languages (DSLs) are, what their relevance to user plug-ins is, and how they can be implemented in Groovy or Java. It also discusses another very important aspect of pluggability: good public API design. Further, it covers security concerns and how they should be tackled. And finally, it discusses classpath isolation issues you may run into and compares different solutions to this problem.
  • Script Bowl 2014: The Battle Rages On [CON2939] In this contest, languages that run on the JVM, represented by their respective language nerds, battle for bragging rights as the most popular language by showing off their shiny new features. Adding a twist to the format in which the audience members will pick this year’s winner(s): they will also vote on a language that should not return in 2015. Returning from 2013 are language gurus representing Clojure, Groovy, JRuby, and Scala. Attend this fun-filled and technically invigorating session to judge which scripting language best meets your needs. You’ll also be able to compare the respective languages and spark some thought-provoking discussions with the panelists that will be beneficial to the entire Java community.
  • Spring 4TW! [CON3693] Spring 4’s here, and with it comes a bevy of new features designed to support modern web developers as well as enrich the component model and enable even-more-adaptive enterprise applications. Spring 4 also serves as the underpinning of Spring Boot, the entry point into the Spring platform. In this session, a Spring developer advocate discusses Spring 4’s new support for WebSocket (including extra support for STOMP), conditional configuration, dependency injection, Java 8 and Java EE 7 support (JCache support, the Batch JSR, ManagedExecutorService support, and so on), the Groovy language, and more. The presentation also looks at Spring Boot as a productive entry point into the Spring platform.
  • Writing Highly Concurrent Polyglot Applications with Vert.x [CON7902] Vert.x is a lightweight, high-performance, polyglot, asynchronous application platform for the JVM. This session covers the design principles and motivation behind Vert.x, including its concurrency model, and discusses why Vert.x is a great fit for super-simple, highly concurrent applications. It also dives into some of the key Vert.x features, including the distributed event bus and high availability, and discusses some of the up-and-coming new features in the latest development branch for Vert.x 3.0, including distributed map support, management, and monitoring. The presentation includes demonstrations involving examples in several JVM languages such as Java, JavaScript, Scala, and Groovy.

Update: I only searched sessions with the “groovy” keyword, but other Groovy ecosystem projects are also present, like Griffon, Gradle or Spock! So let me fix that by appending some more Groovy-related sessions to my list!

Read more...

Groovy Weekly #26

So what’s new this week?

We can highlight the first beta of Groovy 2.4 with the Android support, so users can start having a go at writing Android applications in Groovy! As well as bug fixes releases for Grails 2.3.x and 2.4.x.

Let’s also mention the launch of the Gradle plugin portal, announced last week at the Gradle Summit. And you’ll find also lots of presentations from the conference.

Releases

Articles

Presentations from the Gradle Summit

News

Mailing-list posts

Code snippets

Contributions

Tweets

Jobs

Events


Groovy 2.3.3 and Groovy 2.4-beta-1 with Android support

The Groovy team is very happy to announce the joint releases of Groovy 2.3.3 and Groovy 2.4-beta-1.

Groovy 2.3.3 is a bug fix release, particularly covering the recent issues discovered around anonymous inner classes. Please upgrade to 2.3.3 if you’ve been facing such issues.

Groovy 2.4.0-beta-1 comes pretty early, as we would like to come back to releasing milestones on a more regular pace, compared with how late we released the first beta of Groovy 2.3. We really want you, our users, to be able to give us feedback as soon as possible!

Read more...

Groovy Weekly #25

GR8Conf Europe is over, but there’s a lot to learn from the conference, with all the interesting conference sessions that took place there in Copenhagen.

The themes for this week will be around GR8Conf, of course, but also about Groovy on Android, again the Swift language, and also the first impressive demo of Grails 3.0!

Right after the conference also took place the annual Groovy DevCon meetup, gathering core members of the Groovy team, Grails team, and members of the Groovy ecosystem. Lots of interesting tidbits about what’s coming up in Groovy!

Read more...