Why is JavaScript Omnipresent in Modern Development?

Try turning it off in your web browsers and see the result!Why is JavaScript so important?What’s the fuss all about, mate?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:“Many curse [JavaScript], including me.

I still think of it as a quickie love-child of C and Self.

Dr.

Johnson’s words come to mind: “the part that is good is not original, and the part that is original is not good.

””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 in you’re a developer.

Don’t take my words for it, it’s by far the most popular programming language (considering you can’t do much with HTML & CSS without JS)[Source]Why is that?For answers, we need to look at the amazing ecosystem that was built on it.

We’ve got ourselves a good ol’ “chicken or the 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.

Either way, this vibrant community and the rise of the web have taken JavaScript place it was never conceived to be.

Language of the now powerful frontendFor 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 though-you might have heard that “static” sites are making a comeback.

However, they’re nothing like the ’90s statically generated websites I mentioned earlier.

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.

I wrote a whole post on the subject that I invite you to read here.

Some of the most prominent web applications around today are built using JS.

Think Facebook, Gmail, Twitter, and many more.

If we use Facebook 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.

I also have to mention Vue here that, even if not supported by a tech powerhouse, completes the triad 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, many thingsYes, 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 codeThere 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.

I dove deeper in Node.

js and JavaScript as a server-side language in this blog post.

→ Mobile appsIn 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 integrationsDevelopers 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.

At Snipcart, for instance, our shopping cart is added to user’s websites using JavaScript.

Learn more about APIs and how they work in this piece.

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 benefitsClient-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 in 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.

JavaScript potential pitfallsIt’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’s coming for JS?This makes for a comprehensive explanation of why is JavaScript 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 trust me, it’s not going anywhere, 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.

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.

How?.Well, this question seriously exceeds my expertise for now and would deserve its own article.

Regardless, it will be interesting to follow these changes as they come along.

One thing’s for sure, if you want to stay relevant in this field, you should never stop learning new stuff!Want more?We’ve got many high-level blog post on the many facets of JavaScript other than these I’ve already linked to throughout this article.

Here’s some that might be of interest to you if you want to go further in the world of JS:— JavaScript Beginner?.Start Learning Here (Exercises Included) — Yes, You Should Learn Vanilla JavaScript Before Fancy JS Frameworks — 16 Hand-Picked JavaScript Podcasts Still Running — Picking the Best Static Site Generator for Your Next Project — Should You Learn TypeScript?.(Benefits & Resources)I hope this will help you get a better grasp of what the hell is JavaScript and why it’s everywhere nowadays!I originally published this on the Snipcart blog and shared it in our newsletter.

.

. More details

Leave a Reply