Go back in time to May 2012 (before the iPhone 5). ZeroTurnaround decided to produce a report that focused a bit less on time forfeited to builds & redeploys–a process you already know to be long, unnecessary and arduous–and look deeper into which tools & technologies are being most used in the industry. We also looked into how developers spend their work week, what stresses them out and generally what makes devs tick. Behold, the Developer Productivity Report 2012, a 30-page document whose originating survey attracted over 1800 respondents and has been quoted by Oracle, Red Hat and VMWare. Now we’ll go back to revisit the content, one section at a time, adding updates, quotes and feedback from the community.
The “Perfect” Build Tool (yeah right)
Have you ever seen a perfect build tool? Probably not. There are flaws in all of them, and Maven might be the most-cursed just because it has so many users – around 2/3 of Java developers surveyed use it in some capacity. Perhaps some do simply because they can’t avoid it, but even then it just displays the lack of a certifiably better alternative.
Source: Developer Productivity Report 2012 © ZeroTurnaround
Ant might be the granddaddy of Java build tools and is not far behind Maven, capturing around half of the user base. This shows that both scripted builds (Ant) and declarative builds with dependency management (Maven) have their place, and neither build story will disappear.
To XML or To Not XML?
What if you want to get rid of XML in your builds? There are SBT and Gradle, both used by around 1/20th of the survey respondents. They are more like Ant than Maven, in that they allow you to easily script custom-built tasks, but using a programming language / DSL instead of the clunky XML. I asked our resident fans of both what they think.
Regarding SBT, LiveRebel Engineer Mirko Adari had this to say:
“SBT provides the flexibility of Gradle through a collection of key-value pairs (settings). Bundle this simple construct with an intuitive user experience, one of the best incremental compilers plus statically-checked build definitions in Scala, and you’re in for a treat. Great IDE support and the increasing popularity of Scala will certainly drive more attention towards SBT.”
Looking towards the future Anton Arhipov, JRebel Product Lead, believes that Gradle has enormous potential.
“Gradle can steal stuff from your existing local Maven repository, so it only needs to download half of the internet every now and then. It takes the best from Ant and Maven, throws out the XML and replaces it with Groovy, letting you to program your build. I think as the tooling support is getting better for Gradle, it has all the potential to become the most popular build tool in the industry.“
Looking towards 2013 with Gradle founder, Hans Dockter
Since it’s never easy to get any official representative from Maven or Ant, we were happy to have a chance to sit down with our friend Hans Dockter, founder & CEO of Gradle and Gradleware and GeekOut speaker, and discuss some of the things on his mind for 2013.
“Well, I’m happy to see that there is massive wave of migration in the Enterprise towards Gradle.”
Indeed – just this past October, we saw that Google selected Gradle to be the new default build system for Google Android Apps and Libraries.
Hans also feels that there is a need to focus on scalability for large software stacks, plus better methods of shortening feedback cycles and connecting components in the enterprise. Dependency management in organizations with many rules regarding version dependencies is also not performing as well as he would hope.
“One focus for Gradle in 2013 is to provide the first major open source build system that scales very well with larger, often distributed software stacks. Dependency management is another area where we see a lot of room for innovation.”