JavaScript is everywhere. Once relegated to an Internet fad, the malleable programming language has evolved along with the Web and now finds itself entrenched in modern browsers, complex Web applications, mobile development, server-side programming, and in emerging platforms like the Internet of Things.

Underlying that browser-centric user and developer shift, JavaScript has developed a robust ecosystem of third-party and open-source libraries, frameworks, tools, implementations and superset languages woven into the backbone upon which Web and mobile development is now built.

Over the past decade, starting with jQuery empowering Web developers with client-side scripting, every popular plug-in has filled another gap in the language and its capabilities.

According to Gartner analyst Danny Brian, a member of the Gartner for Technical Professionals group specializing in Web and mobile development, “JavaScript’s prominence is a byproduct of the browser being ubiquitous, whether that’s desktop, mobile or other platforms like native desktop applications using the browser wrapped up and deployed or built with HTML5, and the emerging IoT devices and peripherals that treat Node.js as the engine that powers them.”

Where JavaScript goes next
After more than 15 years without a major update, the international standards organization Ecma is finally set to release ECMAScript 6—a comprehensive update to standardized JavaScript—in June of this year. The 650-page final draft of ECMA-262 Edition 6 (ES6) was recently sent to the Ecma General Assembly so it could be finally approved and standardized at the June Ecma General Assembly meeting. ES6 is a foundational change to the language, featuring a revamped syntax of modules, classes and other advancements to enable the development of larger, more complex Web applications.

(Related: Milestone ECMAScript 6 on track for June standardization)

Mozilla research fellow and ECMAScript project editor Allen Wirfs-Brock said it will fall on browser providers, many of which are already in various stages of implementing ES6 features, to roll out the standard and optimize it across their JavaScript engines and developer tools.

“What ECMAScript does is provide the common foundation that JavaScript programmers in whatever environment or application can depend upon,” said Wirfs-Brock. “ECMAScript 6 is such a significant advance over previous versions of JavaScript, it’s what all programmers over the next couple years will expect to be there. So there’ll be a whole lot of pressure on the browsers, server-based systems and everyone who implements JavaScript to run fully performant ES6 as soon as possible.”

The tooling and browser evolution
The JavaScript ecosystem has made the language more accessible and easier to work with across the development spectrum, according to Gartner’s Brian.

Angular extends HTML syntax to JavaScript, while streamlining the coding process with data binding and dependency injection. CoffeeScript, TypeScript and the like bring in developers from other languages by dangling the syntactical carrot and compiling to JavaScript. Backbone, Ember and Grunt make Web application development run smoother and faster. Apache Cordova and Bootstrap open JavaScript’s mobile Web and app development possibilities. The emergence of HTML5 entwines JavaScript with the future of the markup language. And Node.js gives JavaScript the cross-platform runtime to conquer servers, embedded devices and more.

“We spent all these years trying to bring our favorite languages to the browser in the form of plug-ins, applets and cross-compilers, but JavaScript was already there, and now developers are taking to it via frameworks,” said Brian. “They see their friend building something cool with Angular or Ember or another framework, so they decide to learn it.

“It’s this appeal of being able to write a function or have an object in JavaScript and being able to literally cut and paste that to consoles running in the cloud and the browser. That’s a power we’ve wanted for a long time, though we didn’t necessarily expect to get it from JavaScript.”