The in-tools: ten technologies you should know about
Are you down with the hip young technologies? Are you grooving it up with Groovy or still keeping it oldschool with Java? Here’s an introduction to RebelLabs list of ten technologies that modern developers are using to kick ass. If you already know more half, give yourself a pat on the back.
- Released: 2004
- Written in: Java
- Alternative to: SharePoint
Confluence is a proprietary team collaboration software designed for corporate developer teams. Supporting 10,000+ organisations worldwide, the product is mostly used as an intranet solution. It often proves handy for reducing the number of company emails.
Atlassian, the only company to make it into the top ten list twice, got the wiki community all riled up up when it decided to cease Confluence’s support of wiki markup language.
- Released: 2005
- Written in: C, Bourne Shell, Tcl, Perl
- Alternative to: Mercurial, Apache Subversion
Fathered by the creator of Linux, Linus Torvalds himself, Git is an open-source source code management system. A favourite in the Android project, Git’s main advantage over its competitors is its distributed approach. “Once you really understand the things that a truly distributed model like Git brings to the table, you really are never going to go back to the centralized model,” sas Torvalds.
- Released: 2012
- Written in: Java, Groovy (also a top 10 technology)
- Alternative to: Apache Ant and Maven
Gradle is a build tools unlike others. Traditionally project configurations are declared with, ugh, XML. Not so with Gradle. Using the basic concepts of Apache Ant and Apache Maven, Gradle adds Groovy into the mix for a DSL, while also automating tasks like build test and deployment. Making up 11% of all build tools used, Gradle is still lagging behind Maven, (64%) and Ant + Ivy (16.5%), according to a Rebellabs survey, although it’s market share has doubled since its launch in 2012.
- Released: 2007
- Alternative to: JRuby and Jython
Sometimes thought of as Java’s answer to Ruby, Groovy is the first programming language to have its origins in the 1960s flower-power movement. As an object-oriented dynamic language that runs on the JVM, Groovy is the second most popular JVM alternative after Scala according to a RebelLabs survey. Compared to similar Java languages JRuby and Jython, Groovy is useful for projects that make frequent use of Java libraries.
5. IntelliJ IDEA
- Released: 2001
- Alternative to: Eclipse, SpringBeans
In contrast to the cacophony of plugins in Eclipse, the integrated development environment IntelliJ IDEA is exactly what an IDE should be: integrated. As it’s developed by one single company (JetBrains), there’s somewhat less community participation. But that also means that its built-in features are far more cohesive. Selected by Google as the basis for Android Studio (the development environment for Android), IntelliJ IDEA has carved out 33% of the market share for itself, slowly catching up on the classic Java IDE, Eclipse (44%).
- Released: 2011
- Alternative to: Bamboo, Hudson, TeamCity
- Written in: Java
Part of a long and winding history with Oracle’s Hudson project, Jenkins has established itself as the most popular CI in the market. Why? An continuous integration tool that supports SCM tools like Git, Subversion and Mercurial. It’s easy to extend and modify, so devs can use it for just about any CI purpose they have. Best of all, it’s free and it’s open-source.
7. JIRA and Confluence
- Released: 2002
- Alternative to: GitHub, Redmine, Google Docs and Skype
Do you have issues? Tell them to JIRA. Do you have something you need to share? Share it with Confluence. These two Atlassian products are among the most popular tools for communicating and tracking issues in developer teams. Although JIRA and Confluence aren’t strictly for developers only, Atlassian’s coding background has given them just the right mixture of functions that an engineering team will need. What’s more the two services integrate nicely.
- Released: 2007
- Alternative to: Primary NoSQL technologies like Cassandra and Neo4J
- Written in: C++
MongoDB (as in ‘humongous’) is a document database that lets users map data types straight to a database’s documents. But rather than using the oldschool table-based relational database, MongoDB goes for more dynamic JSON-like docs. A back-end favourite at eBay, the New York Times and Craigslist, MongoDB is by far the most popular NoSQL database system.
- Released: 2003
- Alternative to: Java
An object-functional JVM language, Scala has established itself as a major alternative to Java for complex lambda functions. With the introduction of Lambdas to Java 8, speculation has risen if ye olde Java might someday catch up with Scala. But for now, 47% of developers still list Scala as the next JVM langauge they want to learn, says a RebelLabs research.
10. Tomcat + TomEE
- Released: 1999 and 2012
- Alternative to: JBoss, Jetty
The oldest technology in ZeroTurnaround’s top 10 list, Tomcat is the Java community’s biggest free and open-source application server for JSP and Servlet support. JavaEE developers can turn to the more recent TomEE, also created by Apache.