JavaScript Is Eating The World
Digital Trends

JavaScript Is Eating The World

Dan Rowinski • November 6, 2015

Or is the world eating JavaScript?

JavaScript is eating the world.

Well, it is if you believe Kevin Lacker, co-founder and chief technology officer of Parse.

At the Web Summit in Dublin this week, Lacker gave a talk where he made the case that the power, ecosystem and ubiquity of JavaScript will make it the default language for app, website and server-side development in the years to come.

Modern developers have to deal with three primary platforms when it comes to coding in the last 10 years or so: the browser, the server and native/mobile apps. JavaScript is already the de facto language of the Web. Where Lacker sees JavaScript taking over is on the server and later into native apps on Android and iOS.

“There is very little possibility of disrupting JavaScript on the browser,” Lacker said. “What’s more interesting is the server.”

The Rising Popularity Of Node.js

Lacker does have some skin in the game as Parse is a noted backend-as-a-service provider that employs server-side JavaScript. Parse was acquired by Facebook in 2013 and has become the crux of Facebook’s developer experience in the last couple of years.

Java, C, Python, Ruby, PHP and any variety of derivations of ASP.NET (among many others) have traditionally been the go-to server side languages for backend processes.

“Programming languages that run on servers have been a fragmented market forever,” Lacker said.

While Lacker might have a motive for pushing JavaScript adoption, the trend of JavaScript taking over the server has been fairly popular in the last several years.

web summit design-1024x586

Installations of JavaScript on servers have had growing momentum for a while and more than two dozen popular frameworks exist to do it. SilkJS, MongoDB, Aptana, CouchDB, Domino (IBM), SAP HANA XS Engine, TeaJS and Opera all have server-side JavaScript frameworks out these days that have varying degrees of popularity among the tech crowd.

The most popular princess at the JavaScript server ball though is Node.js. “If you want a job, Node.js is the thing to hop into right now,” Lacker said. “Something different is happening with Node.js. It is flipping the typical script.”

The typical script goes something like this: you have two sides of a developer team, one on the backend and one on the front. The backend team is running the servers in some compiled (as opposed to scripting) language like C# or Java. The front end team is working in HTML, CSS, JavaScript and native languages like Swift, Objective-C or Java.

Lacker’s point is that the developers tend to work best in their primary language. The popularity of JavaScript means that just about every Web developer out there can now become a server-side developer without having to change the basic rules of engagement.

“One engineering team running JavaScript and Node.js instead of Java and JavaScript,” Lacker said. “You have a huge advantage of using something that you already know.”

Netflix and PayPal are both employing the Node.js on the back, JavaScript on the front method, Lacker said.

“Almost without fail, every company has somebody working in JavaScript,” Lacker said. “The forces driving JavaScript adoption on the server are different … The advantages of adopting server-side JavaScript are that it takes less time to get it done.”

Native Apps Slowly Adopt JavaScript

Lacker noted that the weakest case in his argument that JavaScript is eating the world is in apps ecosystem. The best apps with top performance are written in the native languages—Java for Android and Objective-C/Swift for iOS.

But programmers crave a universal programming language. HTML5 mixed with CSS and JavaScript once promised to be the universal language, but “hybrid” apps (essentially websites “wrapped” for native) began falling out of favor a couple year ago because of performance issues. Lacker said that the first generation of tooling for building native apps (hybrid apps) with JavaScript—PhoneGap, Sencha, appMobi, Appcelerator—were good but did not solve the underlying problems.

Facebook and Parse are trying to solve that. React Native is a JavaScript framework that is trying to create the tooling and functionality required to use Web technologies to build dynamic native apps without the native languages. Xamarin is another company that is coming out with cross-platform tools to build native apps, helping developers call C# from JavaScript.

facebook web summit-1024x582

“One of the reasons that it is possible to change the programming language at its core is that people are putting so much effort into employing the tooling,” Lacker said.

It is still hard for developers to build truly immersive, dynamic apps for native with JavaScript. Propose trying to build an arcade-style game in JavaScript and you will get laughed out of the room. The hardware acceleration, gaming engine (like Metal for iOS) and graphics support are just not there yet.

JavaScript As The Dominant Language For All Platforms

stack overflow mosted used15-766x1024

Web developers—still the most popular kind of developer—are attached to JavaScript. At this point there is really no competition. Google’s Dart was supposed to challenge JavaScript, but Google realized that it would be impossible to unseat and turned Dart into a compile-to-JavaScript language (much like CoffeeScript or GorillaScript).

One of Lacker’s main points was that the JavaScript ecosystem is what is forcing JavaScript to be better, subsequently causing big businesses to adopt and evolve the language. The ecosystem makes the product better, the better product equals adoption.

“These other programming languages are not seeing the same type of performance increase,” Lacker said.

The adoption numbers favor Lacker’s point of view.

In April, a Stack Overflow survey noted that 54.8% of developers use JavaScript. Node.js both had 13.3% adoption rates. In July, a company called Devpost noted that HTML and JavaScript were by far the most popular languages for student programmers (obtaining data from its hackathon network). Recently Stack Overflow noted the sentiment analysis of programming languages. Surprisingly, JavaScript did not register high on the dislike factor.

“The ecosystem of JavaScript programmers and JavaScript tools is causing adoption. In turn, it is making the product get better. That is why JavaScript is eating the world,” Lacker said.

This original version of this article mistakenly cited AngularJS as a server-side language. The article has been updated to reflect the correction.

SIGN UP FOR THE BLOG NEWSLETTER