ThoughtWorks has published a digital preview of the January 2015 radar, providing opinion on techniques, tools, platforms and languages and taking a snapshot of the current trends in software technology.
ThoughtWorks creates a biannual radar divided in four quadrants with four rings each – Adopt, Trial, Assess, Hold - that are populated with blips – technologies or techniques that are changing or are worth mentioning. It is important to know that the radar is not attempting to include all technologies because it would become so crowded that it would be quite hard to read. Also, a blip usually stays on the radar for only two consecutive editions of the radar (one year) and it is removed afterwards unless it changes the ring and it re-blips. That does not mean the respective technology is worthless but it has not changed and remained in the same ring. To see all technologies covered by the radar over the years the reader can check out the A-Z Index.
We are going to cover the most interesting new blips that have appeared on the January 2015 radar on each quadrant.
Techniques
Canary Build – this blip appears on the radar for the first time directly on the Trial ring. It is recommended to have a Canary Build to integrate a project’s code with the latest versions of its external dependencies to see if there are any issues to be fixed or not.
Local Storage Sync is on Trial. Create new single-page web applications with an offline-first approach using Local Storage Sync. App developer will always work with data locally which is then automatically synchronized with back-end systems.
Append-only Data Store is on Assess. Using immutable data stores can make code to be “more easily written, read, and reasoned about.” It can be implemented with Datomic or a traditional database using append not update.
Microservices Envy is on Hold. ThoughtWorks suggests not rushing in implementing a microservices architecture because it requires an “additional level of maturity and investment” due to the “complexity that comes from distributed systems.” Start only with 1-2 services before doing a full-blown implementation.
Long lived branches with Gitflow is on Hold. If Gitflow is used to create branches that later have a long life and merges are not performed regularly, then an useful feature can become a “real issue” especially for larger teams. It is recommended to merge often, desirable daily.
Tools
Boot2docker is on Trial. Besides Docker which has been on Trial for the whole year of 2014, ThoughtWorks now recommends trying Boot2docker, a lightweight Linux distribution including Docker and provided as a VM, being considered as an effective way to run “multiple services on a local machine for dev and test purposes.”
Gitlab is on Trial. Gitlab is recommended as a on-premise Git hosting solution integrated with LDAP servers.
IndexedDB is on Trial. This web technology is now recommended for trial only for more complex requirements due to its “increase in complexity and a somewhat clumsy API.” Simple projects are better off with Local Storage.
Blackbox is on Assess. This technology is recommended to encrypt files storing passwords or private keys.
Packet Beat is on Assess. Packet Beat is an open source tool that can “sniff traffic between nodes, allowing you to see traffic patterns, error rates and other useful information.” It is considered useful to understand how systems behave in production.
Languages & Frameworks
Django Rest is on Trial. ThoughtWorks has used this “flexible and customizable” framework for building web APIs in several of their projects.
Ionic is on Trial. ThoughtWorks recommends this framework because they “have seen success in several projects … with its ease to install and test.”
Nashorn is on Trial. The radar’s authors consider Nashorn as the tool of choice for Java programmers when “exact same code should be run in the web browser and on the server”, but they are not convinced it is a great idea to use it for entire applications.
React.js is on Assess. Although the authors are “wary of mixing code and markup”, they recommend React.js because the UI components are “nicely encapsulated and composable,” and the frameworks is “getting a lot of developer attention and will benefit from more tools and examples becoming available.”
Swift is an Assess. ThoughtWorks recommends Apple’s new language because it “contains many improvements over the perennial Objective-C, including emphasis on functional programming and modern syntax.”
Platforms
There are no new platforms on Adopt, Trial or Hold, but there are quite a few on Assess.
CoreOS is on Assess. This platform is recommended for its ability to run apps in separate Docker containers, being backed up by a number of tools and services.
MariaDB is on Assess. For those concerned about the future of MySQL, there is the option of MariaDB: open source, GPL license, compatible, adopted by Google, Wikipedia, Red Hat and others.
Netflix OSS Full Stack is on Assess. ThoughtWorks is reluctant in recommending the entire Netflix OSS stack, but considers there are in it many “interesting ideas, complete with open source implementations.”
SDN is on Assess. SDN with its ability to “configure our networking devices using software is blurring the lines of where our application deployments end” is considered to become “more important” every day.
U2F is on Assess. U2F is suggested for securing online accounts with its two-factor authentication based on public key cryptography. U2F was developed initially by Google, but now it is overseen by the FIDO Alliance.
The FAQ explains how the radar is made, who are the people behind it and what is its purpose.