Andrew Connell, an independent software development contractor who’s worked extensively in both server-side coding and Web development, said it all really started with jQuery. Once jQuery helped everyone get around the maddening process of writing cross-browser JavaScript, a maturing progression of frameworks helped advance the language. Now, with examples like Angular and Facebook’s React, the biggest tech companies on the block are investing heavily in JavaScript development tools.

“Back in the day, JavaScript was always just the glue that led us to make things somewhat interactive on the browser, but that was about the extent of it,” said Connell. “The fact that the language has been adopted in so many different ways, from Web to server to devices, clients and mobile, and the advent of all these different libraries and ecosystem around it—the better tooling and frameworks we’ve had over the past 5+ years—it’s become much more than just the glue that holds things together.”

A strong indicator of how JavaScript philosophies have changed is the partnership between Google and Microsoft to write Angular 2 in Microsoft’s superset TypeScript language. Google chose to scale back independent development of some of its own JavaScript tools, including the Dart programming language, and even rolling features of its AtScript language and runtime into the next version of TypeScript.

Brian sees the landmark Angular 2 collaboration as a healthy sign that the larger tech companies are working together to accelerate ECMAScript 6 adoption, and also as a strategic move for Google to push forward some its own Web component goals through working with TypeScript on Angular 2.

“Google understands that the browser continues to evolve, with ES6 and Web components changing what we need from a framework,” he said. “Angular 2 is a really interesting collaboration from the perspective of JavaScript, because although Microsoft and Google have not always got along, Microsoft has been very proactive in its [advocacy] of TypeScript and in building ES6 features into Internet Explorer. Google has a lot to gain from involving Microsoft and TypeScript’s strong following in that discussion.”

Runtimes
Though JavaScript has advanced far beyond simple browser interactivity, that concept of the language as glue is still applicable, particularly in JavaScript runtimes such as Google’s V8 engine, io.js and Node.js. These runtimes give developers the ability to essentially build desktop applications running in JavaScript, leveraging one language and one skill set to wrap the language into the future of servers, embedded devices and the Internet of Things as a truly cross-platform language.

“Node.js has really become foundational to a lot of other products and different platforms,” said Brian. “That’s true of JavaScript and V8 in general. Clients never want to find themselves in a runtime dead-end, and the health of an ecosystem is a great indicator of a runtime’s longevity.”

The prospect of the io.js fork ultimately rejoining the main Node.js distribution as part of the Node.js Foundation indicates to Brian a higher level of investment across the development community in the runtime, and by extension the browsers it lives in.

As Connell put it, the biggest factor holding Web development in the past has been legacy versions of browsers, exemplified by the half-dozen lingering versions of a browser like Internet Explorer. With Chrome and Firefox moving to a continuous, “evergreen” update cadence, users and developers don’t have to worry about their browsers being current. With Spartan (Microsoft Edge), Microsoft is now moving to the evergreen browser update model as well.

In terms of browser maturity, Brian believed the market has evolved to a point where major browsers are largely on the same page when it comes to standards and ultimate goals for what they want the browser to be. It’s a concept borrowed from open source he refers to as “co-opetition.”

“We’re all agreed on standards. We’re all shooting for a similar end goal,” said Brian. “Where the actual competition takes place is in more of the optimization. How quickly can browsers adopt these technologies? If we only had one browser today, our confidence would be very low in that thing running 10 years from now on all those devices we can’t predict today. But because I can take that same JavaScript code and run it on a single-board computer, run it on my desktop, run it on a native mobile app on my phone, run it in the cloud, that’s what gives JavaScript staying power.

“So long as we have Internet Explorer competing with Chrome competing with Safari competing with Firefox and Opera—even though many of those will share code between them—the landscape will continue to shift, and that’s a good thing for JavaScript developers.

“This is exactly what developers want,” said Brian. “We want all these options available that are still running the same portable applications. The more the merrier.”

About Rob Marvin

Rob Marvin has covered the software development and technology industry as Online & Social Media Editor at SD Times since July 2013. He is a 2013 graduate of the S.I. Newhouse School of Public Communications at Syracuse University with dual degrees in Magazine Journalism and Psychology. Rob enjoys writing about everything from features, entertainment, news and culture to his current work covering the software development industry. Reach him on Twitter at @rjmarvin1.