As usually, the ThoughtWorks Technology Radar covers four areas - Language & Frameworks, Platforms, Techniques, Tools – each item having one of four recommendations – Adopt, Trial, Assess, Hold –. This article lists only what is new and noteworthy in the respective areas.
Language & Frameworks
Adopt: Ember.js is recommended for Single-page Applications due to its productivity, while Redux was moved up from Trial were it was 6 months ago, proving to be an “invaluable” tool in several of ThoughtWorks’ projects.
Trial: Enzyme for rapid UI testing, Phoenix for its ease of use and speed, and Quick plus Nimble for providing readable tests for Swift and Objective-C.
Assess: A number of new and not so new languages and frameworks have been recommended for investigation, including ECMAScript 2017, JuMP, Physical Web, Rapidoid, ReSwift, Three.js, Vue.js and WebRTC. They appeared now on the radar for the first time.
Hold: While on the radar since July 2014, AngularJS v1.x has been put on Hold for new projects, which means “proceed with caution”, the authors preferring instead Ember, React or Redux for speed and code maintainability. It is interesting they do not say a word about Angular 2.0.
Platforms
Adopt: HTTP Strict Transport Security (HSTS) is recommended to websites to prevent a downgrade attack, while Linux security modules is useful to prevent certain security vulnerabilities.
Trial: Auth0 is suggested for its “ease of integration, range of protocols and connectors supported, and rich management API”, while Unity is seen as a good platform for creating VR or AR experiences.
Assess: ThoughtWorks recommends the following platforms to be evaluated to see the impact on the company: AWS Application Load Balancer, Electron, Ethereum, HoloLens, India Stack, Nuance, OpenVR, Tarantool and wit.ai. Cassandra is recommended with moderation.
Hold: CMS is not recommended for large applications. Over-ambitious API gateways encourage designs the are “difficult to test and deploy.”
Techniques
Adopt: While a new appearance on the radar, Pipelines as code has made its debut right on top because it is “defining the deployment pipeline through code instead of configuring a running CI/CD tool.” Existing tools are LambdaCD, Drone, GoCD, GoMatic and Concourse.
Trial: APIs as a product are appreciated because they offer customers the possibility to quickly evaluate what they have to offer and obtain new features by recombining their capabilities. Lightweight Architecture Decision Records is promoted as a technique for “capturing important architectural decisions along with their context and consequences.”
Assess: A few new techniques are suggested for evaluation: Client-directed Query, Container Security Scanning, Differential Privacy, Micro Front-ends. The later is a technique copying the microservice development style for front-end web development. Pages or features of a website are each entrusted to the care of a small team of developers from start to end.
Hold: In this category we find Anemic REST which means “naively developing services that simply expose static, hierarchical data models via templated URLs.” To be avoided.
Tools
As expected, this is the most dynamic quadrant of the radar, having many new additions or changes in recommendation.
Adopt: Babel – a JavaScript compiler - and Graphana – a tool for creating dashboards – made it right to the top in the first appearance.
Trial: Fastlane, Galen, JSONassert, Pa11y, Talisman, and tmate are also new additions that are recommended to by tried on projects that can handle the risk in case the respective technologies do not fare too well over time.
Assess: Android-x86, Axios, Bottled Water (a streaming tool), Clojure.spec, FBSnapshotTestcase (testing the visual appearance of iOS apps) and Scikit-learn (a machine learning library written in Python) are the new additions to this category.
Hold: ThoughtWorks recommends stop using Jenkins as a deployment pipeline because it is not built around a “first-class representation of deployment pipelines.” Other more viable options are ConcourseCI, LambdaCD, Spinnaker, Drone or GoCD.
For more details on the technologies that ThoughtWorks thinks are worth considering we recommend reading the radar.