The Future is JavaScript and the Emerging Web Development Stack

Aaron Gette, CIO, The Bay Club Company

As with anything other than an optional interaction layer, JavaScript is the way forward for the web and there is some historical precedent for that. JavaScript gives us the ability to extend the web beyond where it currently is, and that is what the extensible Web Manifesto developers are looking to do. The web has to be able to compete with native apps and until we have that capability in the browser, we can make it happen with JavaScript.

JavaScript has been pervasive on the front-end for some time and Node has matured into a well-developed enterprise ready technology with substantial support. Emerging tools like Electron and Ionic have made it possible to build applications agnostically with HTML, CSS, and JavaScript. JavaScript and its accompanying technologies have gained more momentum in 2016 and will only continue to dominate in the future. Both ES6 and HTTP/2 will create immense benefits in performance and development efficiency. Using HTTP/2 multiplexing with ES6, import directives eliminate the need for the complex tool chains. ES6 will also add the much-needed features and syntax to the language and can be used today in tools like Babel.

The React and Angular JavaScript front-end libraries are growing unimpeded in popularity. With these front-end libraries becoming so widespread, they are helping to redefine conventional web servers into API endpoints. Exciting new technologies like virtual DOM have result from these same front-end libraries, which continue to influence and expand the JavaScript ecosystem. React has also given rise to a web application architecture known as Isomorphic JavaScript. Essentially the same codebase can be utilized across server and client. This addresses several shortcomings characteristic of standard single page applications.

  ‚ÄčThe future of web development will be packed with exciting revolutions and fascinating innovative advances  

Thanks to Websockets' ability to handle real-time communication, it is gaining ground amongst developers as well. Virtually every modern browser has a Websockets implementation, and almost all web development languages and frameworks now have their own Websockets’ functionality and libraries. Both HTML and JavaScript are growing unimpeded while the difference between the Browser and the OS is blurry at best. Web components are redefining what is possible with HTML and could change the way we develop applications. Most native applications now run some form of web rendering engine, integrating with platforms either indirectly or directly only when required. Web assembly along with Asm.js are accelerating this trend, vastly expanding the capabilities of JavaScript. The possibility of a compile target to run just about any language and any application on a web platform is on the horizon.

Applications are becoming more and more complex, forcing web developers to create stricter language level features. As a result, both static typing and functional programming have become more prominent. Typescript and Dart deliver type features on top of JavaScript, and new languages like Go and Elixir apply types by default. The functional language Elixir goes even further, avoiding mutable data and shared state altogether. The growing quantity of cores and processors has increased the challenge for building applications that can efficiently make use of the processing power. Both Go and Elixir are designed to make handling concurrent processes easier compared with more traditional web technologies. Scaling a web application across a vast number of concurrent connections has always been a challenge for developers. This will only become more challenging and demanding as the number of distributed devices across mobile and IoT (Internet of Things) continues to grow.  As the languages of Go and Elixir meet these challenges and as they grow in use, we will see more tools become available.

An increasing number of applications are beginning to make use of big data tools to efficiently search, store and analyze the massive amount of users’ expanding data. The services created on Spark, Elastic search,  and Hadoop will become commonplace. The ability to scale applications across multiple distributed servers and data stores will be critical. As we move into the age of AI and machine learning, these services will need to be integrated into web-based applications. These services could become bots that interact with users and create custom logic that changes the UX/UI of an application as it learns and reacts to the experience of customers. Google and Facebook are investing resources and capital into AI and machine learning, leveraging the open source community to deliver these kinds of features and functionality.

As Web development accelerates, making predictions can prove challenging. Technology leaders have to remember  that no web development technology is flawless or even clearly better than any other. At the end of the day, it’s a call based on resources and their skill level. The future of web development will be packed with exciting revolutions and fascinating innovative advances.

Read Also

Enterprise Integration Management - A Paradigm Shift

Leesa Dinwiddie, Director-Enterprise Applications, American Psychological Association