At the end of last year a customer asked for a digital technology recommendation that would still be valid in 5 years. As a technologist who looks at 3 – 5 year roadmaps then I instantly realised the complexity of this task and it has lurked mischievously in my head waiting to be released as a Blog.
At the start of 2014, I predicted that the Digital Space was moving solidly away from unmaintainable web frameworks like JQuery and towards dedicated MV* frameworks such as: Angular; Meteor; React; Knockout; Ember; and Backbone. This prediction was solidly realised in terms of the recruitment market and soon companies were clamouring for Angular and Backbone resources. This led to a proliferation of excellent new eLearning companies like Code School (https://www.codeschool.com/) to manage the necessary training requirements.
There is however an even greater change coming and this was reflected by the shock and awe that Angular 2 caused when it was announced at NG-Europe. The syntax looked so alien that it nearly caused a global DDOS protest against Google (as opposed to Sony for once). However the core change was that it was built on top of ECMAScript 6 (ES6) and Web Components with few people knowledgeable on these topics. Elsewhere, Polymer (https://www.polymer-project.org/) was based around Web Components, Ember had adopted the ES 6 Module syntax and Rob Eisenberg had created a brand new framework called Aurelia (http://blog.durandal.io/2015/01/26/introducing-aurelia/) which was completely based on ES6 and Web Components.
ECMAScript Harmony (or ECMAScript Next) actually refers to ES6, ES7 and ES8. The seventh version of the language introduces important concepts such as: Object.observe (watch an object for changes); await (asynchronous functions); data types; annotations; and Array/Generator comprehensions. The eight version is believed to introduce Macros. There is not a single web browser that supports all of ES6 at the moment but we can still use the language by using a Transpiler (http://en.wikipedia.org/wiki/Source-to-source_compiler) such as Traceur (https://github.com/google/traceur-compiler) or 6to5 (https://6to5.org/) – the difference being the readability versus performance of the output.
This is why I am learning ES6 right now and preparing eLearning material for when I need to do recruitment and training all over again. I remember the days of a single Angular book on the market and the situation is even worse with ES6 because I could only find one lean published book which was only 30% complete. The MV* Harmonisation learning curve is going to catch out a lot of developers, recruiters, architects, technologists and even CIOs, which all lead to a lot of non-future-proof decisions being made in 2015.
You can see that Traceur actually supports most of ES6, along with a few ES7 ‘experimental features’ and even supports Google’s new language ATScript (https://github.com/google/traceur-compiler/wiki/LanguageFeatures) which is the core building block for Angular 2. You can even embed Traceur into a webpage so you can have a code playground or a REPL (http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop). You can find ES6 REPLs at: ES6 Fiddle (http://www.es6fiddle.net/); Traceur playground (https://google.github.io/traceur-compiler/demo/repl.html#); and 6to5 REPL (https://6to5.org/repl/). It is vital to have a play with the language and code playgrounds are a great place to do just that.
I would personally not invest too much in solutions without a middle-tier that rely on data transformation algorithms without service tiers because business logic is only ever going to increase and this seems like an unnecessary architecturally restriction. Indeed I would steer away from ‘miracle 2 tier architectures’ (combining Cloud SaaS with Web Components directly) and look at 4 tier architectures complete with a service tier and a distribution tier for large scale scalability. I would also be looking at new Cloud SaaS offerings such as Sinequa (http://www.sinequa.com/en/index.aspx) which offers advanced search interfaces into Cloud hosted data; Couchbase (http://www.couchbase.com/); Firebase (https://www.firebase.com/); and Docker (https://www.docker.com/).
I would finally add that I would be looking at the next generation that have come off pure responsive web design projects and have seen the limitations of that purist approach but taken the learnings with them to the next generation of platforms that can wrap responsive behaviour into a solid framework with intelligent Cloud services, simple enterprise integration, and APIs providing abstract data sets to client side components.
Do you agree with Peter? Let's hear your comments.
Contact Peter Rogers on LinkedIn
Writer, Speaker, Senior Analyst
Digital Transformation, EBA, Center for the Future of Work Cognizant
View my profile on LinkedIn
Learn about mobile strategies at MobileEnterpriseStrategies.com
Follow me on Twitter @krbenedict
Browse the Mobile Solution Directory
Subscribe to Kevin'sYouTube Channel
Join the Linkedin Group Strategic Enterprise Mobility
Join the Google+ Community Mobile Enterprise Strategies
***Full Disclosure: These are my personal opinions. No company is silly enough to claim them. I am a mobility and digital transformation analyst, consultant and writer. I work with and have worked with many of the companies mentioned in my articles.