Presentation – JavaScript’s Domination of the Web

JavaScript’s Domination of the Web

For the User Experience Design (UXD) program at Kent State University, I put together the following presentation on JavaScript.

Brainstorming

An article on Stack Overflow in January 2018, titled The Brutal Lifecycle of JavaScript Frameworks, points out that even for the most popular scripting language on the web, the popularity of any individual framework only lasts a few years. I also overheard a joke made by some of the front-end developers at my place of employment: “While we’ve been in this hour-long meeting to discuss JS, three new frameworks for it have been invented.”

What is it about JavaScript (JS) that has led to its dominance and its rapid lifecycle?

Research

JavaScript is used by 94.9% of all websites (per W3Techs). This is an astonishing level of dominance for any technology.

A quote from the Stack Overflow article: “There appear to be two major phases in JavaScript framework usage. There appears to be a quick ascent, as the framework gains popularity and then a slightly less quick but steady decline as developers adopt newer technologies.”

Interesting quote from Douglas Crockford on JS as ‘cowboy language’:

Amateurs

Most of the people writing in JavaScript are not programmers. They lack the training and discipline to write good programs. JavaScript has so much expressive power that they are able to do useful things in it, anyway. This has given JavaScript a reputation of being strictly for the amateurs, that it is not suitable for professional programming. This is simply not the case.

Additional research was done on JS history (CloseBrace article) and timelines. Surprisingly I couldn’t find an academic quality timeline, but I did find a Tweet from Mike North with a nice image.

Also put together my basic JS research (from Wikipedia) into a concept map parts of which may be useful in the multimedia presentation.

Story

JavaScript’s ubiquity comes from its flexibility with a huge boost from AJAX as a web development technique. With AJAX, a web app can send or receive data from server in the background without interfering with the page. This was a key to “Web 2.0” and created a renaissance for JS.

Script

Hello. My name is Joshua Randall. I am a student at Kent State University, and this is my story about JavaScript’s domination of the web.

The concept for this story came to me when I was in a meeting about JavaScript with some front-end web developers at work. At the end of the meeting, one of them said, “While we’ve been here, three new JS frameworks have been invented.” He was joking, of course. But as the accompanying graphic from Michael North shows, there has been a proliferation of JS frameworks over the last 15+ years.

Let’s take a step back and look at what JS is. It’s a high-level programming language that is one of the three core technologies of the World Wide Web, along with HTML and CSS (or Cascading Style Sheets). This concept map shows some of the characteristics JS has and how it’s being used. We’ll take more about those characteristics later, as well as how JS fits into the modern web.

One of JS’s key features is that it allows you to manipulate something call the DOM, the Document Object Model, which is a tree-like view of the HTML or XML that marks up a web page. The nice thing about the DOM is that it’s language-independent, which facilitates communication among different computing systems, regardless of what programming language they use.

JS is old. It was invented in 1995 by Brendan Eich, one of the co-founders of Mozilla. That’s an eternity in Internet time. Many languages don’t survive for over 20 years.
Another astounding statistic is that 95% of all websites use JS. Ninety-five percent! I think the only other technology that’s so ubiquitous across the web is electricity.
However, as the accompanying chart from Stack Overflow shows, the lifecycle of each JS framework is short – only a few years. One notable except is jQuery, which has been around for quite a while. What is it that’s causing this rapid rise and fall of frameworks? We’ll talk about that later.

JS, although useful from its inception, got a huge boost in 2005 with the introduction of AJAX. AJAX stands for Asynchronous JavaScript And XML. It was a rediscovery of something known as Dynamic HTML or DHTML. The key term is ‘asynchronous’, which means you can send and receive data from the server without the need to reload the webpage.
AJAX was a huge development. AJAX is what allows things like webmail to work. If you remember when Yahoo Mail and Google Mail exploded onto the scene and displaced installed software like Microsoft Outlook, AJAX is what allows those webmail programs to work.

By the way? Shoutout to Jesse James Garrett, who coined the term AJAX, and is also the author of The Elements of User Experience complete with its famous chart. Most people don’t have one really good idea in their lives, let alone two – so way to go, Jesse James.

When I initially started researching JS, I had the idea in mind that it was nothing more than cowboy code and not a real programming language. However, I came across this quote from Douglas Crockford, who helped popularize JSON. He acknowledged that many of the people writing JS are not professional programmers. That’s not a bad thing; that’s actually a good thing. As he puts it, “JS has so much expressive power that they are able to do useful things in it, anyway.”

That’s something JS should be lauded for, not criticized for. Many languages are too restrictive to allow amateurs to accomplish anything useful.

The flexibility of JS is what gives it power. Here’s a deeper look at some of its characteristics. Being a high-level abstract language, being weakly typed, and being a multi-paradigm language that can support a variety of programming styles – these are things that make JS easy to work with, even if you don’t have a strong computer science background.

That power is what explains JS’s dominance over the web. Here’s another chart from Stack Overflow that shows the lifespans of some of the even smaller frameworks. This is an illustration of disruptive innovation at work.

Front-end web developers are being asked to do more and more back-end type work. JS fills that need. As a new framework arises that fills a specific need better than an old one, naturally it will displace the old framework.

The latest hotness that you’re hearing about, Accelerated Mobile Pages? Yeah. That still uses JS under the hood.

Thank you for listening, and this concludes my presentation.

Sources

Allen, Ian. (2018, January 11). “The Brutal Lifecycle of JavaScript Frameworks.” Stack Overflow. Retrieved from https://stackoverflow.blog/2018/01/11/brutal-lifecycle-javascript-frameworks/

Buecheler, Christopher. (2017, September 11). “A Brief, Incomplete History of JavaScript.” CloseBrace. Retrieved from https://closebrace.com/articles/2017-09-11/a-brief-incomplete-history-of-javascript

Crockford, Douglas. (2001). “JavaScript: The World’s Most Misunderstood Programming Language.” Douglas Crockford’s World Wide Web. Retrieved from http://www.crockford.com/javascript/javascript.html

North, Michael. (2016, April 12). “A timeline of #Javascript UI frameworks.” Twitter. Retrieved from https://twitter.com/michaellnorth/status/720030263905005568

“Usage of JavaScript for websites.” (2018, March 3). W3Techs. Retrieved from https://w3techs.com/technologies/details/cp-javascript/all/all

“Usage of JavaScript libraries for websites.” (2018, March 3). W3Techs. Retrieved from https://w3techs.com/technologies/overview/javascript_library/all

“What is AMP.” (2018, February 13). AMP. Retrieved from https://www.ampproject.org/learn/overview/

Wikipedia contributors. (2018, March 3). “JavaScript.” Wikipedia. Retrieved from https://en.wikipedia.org/w/index.php?title=JavaScript&oldid=828549508