ZeroTurnAround team took attention in the Java developer community with the Java EE Productivity Report back in 2011. It mainly focused on tools, technologies and standards in use and general turnaround time in development activities based on Java as a language. They have comeback this year with their latest survey on Java developer productivity which uncovers very interesting trends about the practical Java development lifecycle.
In their report, they discuss tools and technology usage as well as findings on developer time usage, patterns in efficiency and factors which govern developer stress in general. In part I of this article, we discuss tools and technology usage findings.
6 years after December 11 2006, Java 6 leads the board. Java 7 (codename ‘Dolphin’) has a 23% usage just after about 6 months (at the time of the survey). There should be something in the new version of Java for the community to accept it at an amazing conversion rate.
Eclipse has steadily maintained more than two thirds of the IDE usage while Intelli JIDEA and Net Beans have raised their interest among the community by 6% and 5% respectively compared with the previous year. IDEA’s free community version and rapid and extremely active involvement in Net Beans are the major contribution factors behind this shift.
Java Build Tools
Build tools Maven and Ant has secured their positions this year as well. ZeroTurnAround predicts that there will be a trend to move from Ant to Maven.
Java Application Servers
Apache Tomcat remains the most widely used open source application server. JBoss and Jetty is securing their place in the community. First released in October 2011, Jetty looks very attractive to the developer community with its lightweight and cool enterprise level features. It supports Servlet 3.0 and has better easy to follow documentation which is a major plus point that attracted developers. Being the giant’s choice Weblogic and WebSpehere are there with more and more features added to the list as well as improved setting up capabilities. For example, Weblogic 12c promised 200 new features and it can be distributed as a zip archive. That means there is no time consuming installers; just unzip and run!
Java Web Frameworks
While Spring MVC, JSF, Struts and GWT have consistent market share against last year survey results, GWT (Google Web Toolkit) has gained some market share compared to the others. ZeroTurnAround view is that the constant market share is because large projects which have already been implemented and live on older frameworks are not moved to the newer, better frameworks. This is due to its commercially unattractiveness owing to the time and risk factors involved with refactoring the code to suit the newer frameworks. Hence, they think that only new projects will drive the market and it will take time to see clear patterns.
Java Application Frameworks
Spring and Hibernate are the market leaders having more than half of the users using one of them. The percentage usage of these two is very similar as they are used together almost all the time. In third place Aspect J stands with the vision to be a seamless aspect oriented extension to Java.
Java Enterprise Edition’s light weight contenders JPA, EJB 3.0 and CDI has enjoyed wider acceptance in the last year as well. Supported well by Hibernate and EclipseLink, JPA remains at the top scoring a 44%.
Code Quality Tools
PMD and FindBugs are static analysis tools where CheckStyles checks for code styling according to the standard and readability of your code. Sonar provides a suit of code quality tools. FindBugs operate on Java byte code rather than the original source code and analyzes for possible problems that can cause trouble if not fixed before releasing. It is a project from the University of Maryland and has plugins available for Eclipse, NetBeans and Intelli JIDEA.
Version Control Systems
Almost natural descendant of CVS, Subversion is there at the top with every 2 out of 3 using it. Version control systems today are inspired by the distributed paradigm. GIT and Mercurial are distributed version control systems. This paradigm shift will take on with the Java community as well, and in the years to come, we expect to see a raise in the use of GIT and Mercurial and dip in the others.