This content originally appeared on JavaScript January and was authored by Emily Freeman
I am forever grateful to Jay Phelps for his take on the last decade of JavaScript and where the community is headed.
JavaScript, Javascript, ECMAScript, or JScript. Whichever your flavor, it's sure come a long way. Now that it's 2020, I thought it would be fun to review the last decade: how we've progressed, what's changed for the better (or worse!), and where I think we'll be in another ten.
The Web 2.0 Revolution
I think it's safe to say the last decade saw an explosion in web apps, and the technology for building them.
Taking us back all the way to 2010, the official specification for JavaScript, ECMAScript 5.0 (not 5.1 yet!) had just been standardized. Google Chrome was 2 years old, Node.js only a year. The very first version of AngularJS (not to be confused with the modern Angular, mind you) was released.
Over the following years, many many more web technologies came (and went). While NPM was released before Bower, in many circles Bower was used more, initially. These days, except for legacy apps, Bower has mostly been replaced by ubiquitous usage of NPM for universal JavaScript. Speaking of "Universal JavaScript": remember "Isomorphic" JavaScript?
The introduction of Just In Time (JIT) compilation, combined with a TON of new platform APIs, made JavaScript viable for even the most complex of applications.
Of particular note is the Progressive Web App (PWA). PWA's are a way of providing a native-like experience, where your apps launch from their desktop or home screen, nearly instantly with Service Workers, and offering the features users expect, like Push Notifications among others.
Backbone, AngularJS, Ember, React, Vue, and Angular (not AngularJS lol), just to name a few. UI libraries and frameworks have iterated paradigms, borrowing (and stealing) ideas between each other in wonderful evolution. These days things seem to trend to towards Functional Programming and Virtual DOM. But things move fast, so don't be surprised if even that changes!
Most web folks wrote vanilla JavaScript a decade ago. Not anymore! Rapidly released, yearly additions to the JavaScript language led to compilers and bundlers becoming a norm. Tools like Babel and Webpack became de facto, for better or for worse. Modern JS tooling has become much more powerful, but at the same time more complicated. This tradeoff is a natural progression, in my opinion, but JavaScript still remains relatively unique in that you still can run extremely old code, as-is. Not just that, you could still write websites that way too, without any fancy compilers and bundlers, if you so choose. That's wild.
But as cool as JavaScript is, folks have always wanted to use languages other than JavaScript on the web. Code reuse, talent availability, style/paradigm preferences, or just because you feel like running Window 95 in your browser.
Starting in 2013, Mozilla started experimenting with a subset of JavaScript called asm.js that could be used as a compilation target of other languages. Browsers could then run compiled languages like C++ and Rust more optimized than if they were compiled to ordinary JavaScript. This was an awesome learning experience, and eventually led to its successor: WebAssembly.
WebAssembly (Wasm) was initially announced as an early effort starting in 2015, as a brand new bytecode for the web. Considering the fairly narrow scope of its initial release, it's already had some great success. But make no mistake, WebAssembly's potential has yet to reached. I'm personally very excited about its future once some additional proposals are standardized and various tooling around it becomes more mature.
Speaking of which, anyone remember Flash and Silverlight? It's OK to joke about them—and it's really easy to—but at the same time, they served their purpose. The both filled a gap in the Web Platform™ and limped us along until we were ready. So pour one out for them!
Oh, did you know ColdFusion is still a thing.
The Future of the Web
(What follows are some very personal predictions, not facts!)
JavaScript is stronger than ever. It wasn't replaced by Dart (but make no mistake, Dart is still very cool and innovating!) TypeScript has become very strong, and I think its safe to say that trend will continue. Some have said it might overtake JavaScript, but I think nuance is required in that statement. I do think TypeScript will overtake JavaScript in usage of the average complex web app, but the web is not just complex apps. There's an extremely long tail of web content that uses JavaScript that (again, I think) will continue to use vanilla JS. It's easy to forget just how ubiquitous JavaScript is on the web. It's also one of the most, if not the most, easiest way to start programming. You just hit refresh. That can't be understated!
At the same time, I think we'll see more and more languages designed for the web, like Dart was. Elm, Reason, AssemblyScript, are just the beginning. Competing against "built-in", as JavaScript is, is incredible hard, but I expect a couple of new niche languages to make an appearance and carve off a notable chunk of usage. Future version of WebAssembly will make this even more compelling.
While JavaScript apps can compete against native apps these days, there are still gaps that need to be addressed.
In the next decade I think we'll see much tighter integration in operation systems with web technologies and PWAs. Better file system access is one such example. Some APIs might only be supported when a user has installed an app as a PWA (or some other paradigm.)
In addition, I think app stores will continue to make web technology-based apps more first class. Some have already done so.
If I can be even more bullish (and bias) I think WebAssembly adoption directly by the operating system might even become a reality on some platforms, in the [fairly] distant future. But that wild speculation is for another time!
Summary
JavaScript, WebAssembly, and the Web Platform in general are better than ever. It's hard to say what exactly will happen in the next decade, but I think it's safe to speculate that their usage is only going to increase over the next decade. And what a wild ride it will be!
This content originally appeared on JavaScript January and was authored by Emily Freeman
Emily Freeman | Sciencx (2020-01-17T01:56:01+00:00) The Last (and Next) Decade of JavaScript and other Web Technologies. Retrieved from https://www.scien.cx/2020/01/17/the-last-and-next-decade-of-javascript-and-other-web-technologies/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.