Who Can Tell the Difference Between Next.js, Nest.js, and Nuxt.js?
As a frontend developer, at least once in your career or studies, you'll encounter a situation where you need to distinguish between Next.js, Nest.js, and Nuxt.js.
I just had one of these moments recently.
A new colleague joined our company, and during lunch chat, I heard him mention he had worked on Next.js projects before.
Since our company's new project is based on Next.js, I thought, "Great! Our new project is saved!"
But later in the group chat, he clarified that he had actually worked on Nest.js projects.
That really threw me off.
As an ordinary developer speaking ordinary Mandarin, it's completely normal not to be able to distinguish between the pronunciations of Next /nekst/ and Nest /nest/.
The authors who named these frameworks were really "clever."
These names are like wholesale products - all following the pattern N__t.js. The last time I was this confused was with the jewelry brands "Chow Tai Fook, Chow Luk Fook, Chow Sang Sang, Luk Fook Jewellery..."
This brand piggybacking actually peaked around 2016 when frontend frameworks were exploding.
That was a time when the frontend industry was blooming with various frameworks emerging constantly.
On October 25, 2016, Next.js 1.0 was released, making its debut as an open-source project.
Next.js is based on the React framework, providing Server-Side Rendering (SSR) and Static Site Generation (SSG) capabilities, along with features like automatic code splitting and routing systems.
Just one day later, on October 26, Nuxt.js was released.
I have to say, Nuxt.js copied really fast - it's based on Vue.js and created another version of Next.js.
Nest.js came later, releasing on February 26, 2017. It's quite different from Next.js and Nuxt.js.
It's a pure Node.js backend framework - essentially the JavaScript world's Spring Boot.
All three frameworks are doing well now. Besides their own technical merits, could their success be partly due to their "trend-riding" names?
Maybe next time when developing a new framework, we should just call it Not.js.