JavaScript Omnipresent - The New Flash

When we encounter new stuff, the reflex now is to search the web for answers. And more often we end up in Wikipedia for more detailed results and knowledge. In the case of JavaScript, you might end up with more questions than answers.

  • - What is JavaScript?
  • - Why is it so important?
  • - Why we use JavaScript?
  • - What’s coming for JS?

You will hear and read a lot that it is a client-side programming language, which is true but does not quite adequately gives it the merit it deserves today. We’ll come back to this later on. For now, let’s simply say that JavaScript is a tool that developers use to add interactivity to websites. Your browser needs three things to consume this content:
  • HTML for structuring the content
  • CSSfor styling it
  • JavaScript makes it come to life!
This makes it all sound straightforward, but there’s so much more to it. In order to get an overview, let’s start by going back in time.

The Journey

To understand where we’re at today and where we’re going, we first need to fully understand where we come from. For JavaScript, the story is a long and bumpy road. 1995 is where it all started - in the offices of Netscape where the first version of JavaScript was born. Take a moment to think about how different the web landscape was at that time. Most of you reading this were probably not even born. Netscape itself is a very distant memory today. At that moment though, Netscape’s Navigator was one of the most popular web browsers. It’s to support it that JavaScript was created, as a companion language to Java. The fact that Netscape wanted a language that would “look like Java” ruled out many other existing languages that could have been used to run the browser (Python, Tcl, Scheme, etc..). Back then, the web was fully-static, powered by simple HTML & CSS. JS brought dynamism.

The initial goal with that new programming language was to make the web a full-blown application platform, meaning that JavaScript would run on both client and server. It was not a complete success though, as it took many years to be taken seriously as a backend language. But it rapidly thrived on the frontend, becoming the standard programming language of the web. Even after the death of Navigator, it was eventually adopted by all succeeding web browsers, from Explorer to Firefox and Chrome.

JavaScript was born in a hurry though, and various quirks would harm the language adoption in its early years. Still, some of its powerful features were part of it since its inception. These would define JS and allow it to grow. The next big step following the public release came with ECMA standardization, which became the “convention” behind JavaScript. It brought the language to a broader audience and allowed other potential implementors, like Microsoft, to have a say in its evolution.

Why does the web need it?

Up to this point, one question that might stick is - Why did Netscape need a whole new language for the web, wasn’t Java enough? The perception at that time was that Java was not suited for an entire audience that could potentially adopt web development such as scripters, amateurs & designers. It was just too big for the role. With the coming of JavaScript, it was possible to satisfy different audiences:
  • 1) component writers and enterprise-level professionals with Java
  • 2) scripters & designers with JavaScript.
That second bunch we could also call, in modern web dev terms, frontend developers. The name Java Script came from an attempt to ride the wave of Java’s popularity and speed up adoption. Today, you won’t find many similarities between both languages. As mentioned earlier, it also brought dynamic features to the web. What does it mean exactly? Here are a few things you see every time you spend two minutes on a web browser, that are the result of JavaScript:
  • Autocomplete
  • Loading new content or data onto the page without reloading the page
  • Rollover effects and dropdown menus
  • Animating page elements such as fading, resizing or relocating
  • Playing audio and video
  • Validating input from forms - and a lot more


JavaScript is a scripting language that’s inserted directly in the HTML of a page. It’s the only programming language of this kind that can be understood by web browsers. Browsers can read Javascript, interpret it and then run the program, creating powerful client-side experiences. Since 2017, WebAssembly is also supported by modern browsers. It’s a new type of language that is designed to run alongside JavaScript.

It achieved this status because it’s open, standardized, and, most importantly, whether you agree or not, a very good language. It’s well-suited to the web with its dynamic nature and tight integration with theDOM. JavaScript is also compatible with other languages. This is super important as web servers run on different languages whether it’s PHP, Python, Ruby, Java or .NET. Because the JavaScript running in the browser is 100% decoupled from how HTML web pages are generated, users will always have the same rich experience as JS works, no matter the server-side language used. If you want to have a real feel, effect and influence JavaScript has on the web, try turning it off in your web browsers and see the result!

Why is JavaScript so important?

Even if JavaScript has been the language of the browsers for a long time, it hasn’t been that long since it got (almost) universal recognition from the development community. I mean, even Brendan Eich, considered the father of JavaScript, had pretty harsh words about JS back in 2008: Yet, here we are, more than ten years later and JavaScript is more present than ever before. I mean, it’s everywhere. It’s almost impossible to find your way around working with JavaScript in some way or another if you’re a developer.

Why is that?

For answers, we need to look at the amazing ecosystem that was built on it. Some might sight the good old “chicken and egg” paradox here. Is it the power of JavaScript that allowed the creation of a thriving ecosystem, or that ecosystem that allowed JS to evolve and become a more viable language? We can also attribute the origin of this “JS revolution” to the release of ECMAScript 6 (or ECMAScript 2015). This update added new syntax for writing more complex applications and many other features that would define the next era of JavaScript. ECMAScript is a scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It was created to standardize JavaScript, so as to foster multiple independent implementations. JavaScript has remained the best-known implementation of ECMAScript since the standard was first published, with other well-known implementations including JScript and ActionScript (of Flash Fame - Adobe Implementation). ECMAScript is commonly used for client-side scripting on the World Wide Web, and it is increasingly being used for writing server applications and services using Node.js. Either way, this vibrant community and the rise of the web have taken JavaScript to a place it was never conceived to be.

Language of the now powerful frontend

For a long time, websites were mostly powered by PHP-based CMSs, such as WordPress. Server-side code was handling the major part of the logic. Things are changing very rapidly. Modern browsers now have the capacity to make these interactive and fully-dynamic. A particularity they share with their ancestors, though, is the abstraction of backend development. Logic is handled client-side, directly in the browser, thanks to JavaScript.

Modern web trends were born from this new paradigm, like the JAMstack. Some of the most prominent web applications around today are built using JS. Think Face-book, Gmail, Twitter, and many more. If we use Face-book as an example, JavaScript enables status updates and most user interactivity. It wouldn’t have much appeal without it. These tech giants actually built their own frameworks of JavaScript, and these now allow thousands of devs to build their own web apps. You might have heard of Angular, backed by Google, and React, backed by FB. And an upcoming rival Vue not supported by any of tech powerhouse, completes the triumvirate of important JS frameworks.

Other than reducing the amount of time and efforts required for developing JS-based sites and apps, these frameworks helped shape new web experiences. Take Single-Page Applications (SPA), for instance. A SPA is a website that interacts with users by dynamically rewriting a page in the browser rather than loading entire new pages from a server, making them behave more like desktop applications.

Language of many things

Yes, the primary use of JavaScript might still be for frontend web development. Truth is though, in 2019, it’s doing so much more than that.

Server-side code

There were unsuccessful attempts to make JavaScript run server-side from the very beginning. Many thought it would just never become a stable backend language, until the arrival of Node.js. Today, this JS runtime is a popular tool to power web servers. This means that JS developers can use Node.js to write both client-side and server-side code in JavaScript, without relying on external web servers.

Mobile apps

In the past, you would need other languages to develop great mobile applications, like Objective-C for iOS or Java for Android. It’s now easier than before to use JavaScript to connect to mobile APIs though. This means that you can use mobile devices features, such as the camera or localization to build JS-powered apps. Once again, this opened mobile app development to a more significant number of developers who no longer need to learn a new language. Not only this, but the use of JavaScript in mobile apps even opened up new possibilities to make them even more performant. Take a look at Progressive Web Apps (PWA) for instance. Combining the best of the web and the best of apps, PWAs improve reliability, performance, and engagement. They enable impressive new functionalities such as offline navigation. Aforementioned frameworks like Vue.js and React are increasingly used to craft PWAs. You should check it out!

API integrations

Developers can use JavaScript to fetch data from other sources and display it on their own site. One concept that is more promoted than ever in web development is modularity-using different tools to execute specific tasks. Well, it’s now easy to build these kinds of stack thanks to APIs, and JavaScript. So, why use JavaScript? (or JS benefits) This is all pretty great. Viva JavaScript! Right? But wait for a second here, this whole story doesn’t matter if it doesn’t bring benefits to developers and end-users.

JavaScript benefits

Client-side execution of the logic brings faster user experiences. With the code running directly in the browser, the need for server calls is abstracted, hence a cut in loading times. Even with the presence of a server, the fact that JS is asynchronous means that it’s able to communicate with the server in the background without interrupting the user interaction taking place at the frontend. Since the very beginning, JavaScript has brought user interface interactivity to the web. It now does the same for applications of all kind, helping to develop the most engaging UX. Today, frameworks like Vue.js are bringing transitions & animations to the next level. JavaScript is behind any good responsive web design. More and more, developers need to adapt their design across multiple browsers and devices. Combining HTML5, CSS3 & JavaScript, they can do so within a single codebase. For developers, JS is easy to learn and fast to get into active development. Its syntax is easy and flexible for newcomers. It also simplifies the development of complex applications by enabling developers to simplify the app’s composition. The many frameworks & packages out there also ease the life of developers to some extent. If you haven’t got this yet, JavaScript is insanely popular. If popularity doesn’t always equal quality in life in general, it at least mean one important thing: you’ll find the solution to any problem within the community. In web development, that’s not a negligible detail. If you’re someone that needs to hire developers, that’s also a big plus, as the pool of candidates is huge.

Does this mean that JS is perfect?

Not at all, there are indeed disadvantages to be aware of just like any other language. It’s not clear, even to this day, at which extent search engines can crawl JavaScript. Even though Google claims it mostly does, you shouldn’t take any chance if you don’t want to face crawlability/SEO issues. This problem isn’t without a solution as there are ways to handle JavaScript in a way that crawlers see it. There’s something as too much JavaScript. Bloating your projects with JS will do you a disservice in the long term as it will eventually cause performance issues. The way to avoid this is to insert JavaScript only when necessary and not shoehorn it everywhere like we might tend to do. The thousands of packages that constitute the JS ecosystem allow developers to work quickly without reinventing the wheel for each new task. However, they also cause what some have called “dependency hell.” You need to learn how to deal with these often necessary dependencies, so they don’t become a hassle for you and the people using your projects.

What is in the horizon for JS?

This makes for a comprehensive explanation of why JavaScript is so crucial in today’s development community-and why you should probably sharpen your JS knowledge. Now, I want to leave you with a reflexion on what we should expect for near future of JavaScript. Because it’s not going anywhere soon, whether you like it or not. JavaScript is ever evolving, and so is its ecosystem. I personally think the future begins with less new tools being created and the big players getting more mature and gaining major adoption. We’re already observing this in the field of JS frameworks, where React and Vue.js are taking the edge. Same at other levels where tools are built on these frameworks. Gatsby, Next.js & Nuxt are slowly becoming the leading static site & PWA generators. TypeScript will probably play a big part in what’s to come as well. This superset of JavaScript is being adopted massively by the community because it allows JS to scale better.

Technology In Constant Flux

The future holds many things in the tech world that will no doubt have an influence on frontend development, such as Artificial Intelligence or the Internet-of-Things. JavaScript will have to adapt to these new realities. As developers, technology is in a constant state of change and flux. Every year, something new and ground breaking eventually makes its way to centre stage — mostly because the communities and people behind them identified a gap or unsolved problem in the solutions currently available. It’s the way innovation works — but sometimes it can be hard to keep up with everything. Our ability to adapt to requirements determines how well we will continue to thrive and create useful products for our clients. At some point, something will eventually pop up and replace React, Angular or Vue the way COBOL was replaced by Java — and now JavaScript is doing the same thing for Java when it comes to the rise of JavaScript based back ends. As mentioned earlier technology is always in transit. Nothing lasts forever and eventually, all things will fade into obscurity. But for now, JavaScript seems to be riding the wave. With the number of applications being integrated and built with its many libraries, it’s probably going to stay for a while.