JavaScript landscape is exciting again
Remember when all we did was argue about the frameworks? Thankfully it seems as if those dark times are behind us. After several years of stagnating JavaScript world finally feels vibrant again.
Several fundamental transformations are happening currently in front of our eyes. Let me show you.
Disclaimer: I'm sure there are more interesting things that I'm unaware of. (Let me know).
Next-gen tooling
Next-gen compilers/bundlers came out seemingly out of nowhere. Who would think that using a compiled language can lead to performance improvement?
Both esbuild (written in go) and SWC (Rust) provide a freaking 10x-100x speedup depending on what you're currently using to build your JS and TS files.
The esbuild was recently adopted by Angular, while SWC is now part of Next.js. Vercel hired its author DongYoon Kang to work on its build system.
Another great tool called Vite created by Evan You (Vue) improves developers' experience by not bundling the code and instead serving individual modules using ES modules. It also solves a whole class of problems (cold start time, hot module replacement, etc.) and provides a fantastic developer experience (no need for lengthy configuration files - I'm looking at you, webpack).
Runtimes
Bun is a new JavaScript runtime written from scratch that aims to be compatible with Node and Web APIs (90% compatible at the time of writing). It is also blazingly fast compared to Node and Deno and supports TypeScript out-of-the-box.
It is so impressive that it made Ryan Dahl reconsider some of Deno's tradeoffs and endeavor to make it compatible with Node APIs as well.
That is a huge step forward, and it's very satisfying to see healthy competition pushing the tech forward. Remember io.js, anyone?
Meta-frameworks
Next.js continues to be excellent. It's a great and very mature SSR framework. I call it a "meta" framework because they didn't try to reinvent the wheel and instead built upon the most popular framework - React. The last version (12) introduced, a native ES modules support, a faster compiler (already mentioned), and finally, middlewares.
Earlier this year, the world has seen an introduction of Remix - a "meta" framework that embraces the modern Web APIs. It is "edge first" meaning that it's optimized to run on edge CDN (server-side code runs geographically closer to the user). Highly recommend you to read through its very good docs
Infrastructure
The company behind Next.js, Vercel provides a fantastic experience for frontend application development and deployment. Any frontend end app can be set up and go live in minutes. This particular website is running on Vercel. It's fast, has a free SSL, and things like push-to-deploy, preview/branch URLs, etc. All of these are super-easy and cost me exactly $0.
Then, there's this "Edge Computing" concept that emerged recently. Usually, the server-side code is run in some specific data center, and if the results can be cached, they are delivered to the user in a geographically-optimized manner cached by a CDN.
Edge computing allows your server-side code to run as close to the user as possible, resulting in a swift experience. Have a look at Remix Docs which runs on Fly.io. It's blazingly fast. This technology has great potential, and I can't wait till I try it with some serious project.
All those things excite me about the future, and I think even greater times are ahead.
If I failed to mention something that you think is crucial, please let me know.