The Creator of Nuxt.js and His Love for Vue
I'm Sébastien Chopin. I'm 32 years old. I'm a French developer and I created Nuxt.js. The first time I heard about Vue.js was in 2014. I remember I was in a hostel in Dublin.
On the bed, I couldn't sleep so I hit Vue.js.org on my phone and I started reading the documentation and I just fell in love. I think I read it from 11 p.m. to 4 a.m. and since that day I knew I had to use Vue.js.
The Genesis of Nuxt.js
The first time I heard about Vue was I think I was working in an agency doing some Angular framework, boo, no, I love all JavaScript frameworks, and yeah, I was always checking all the frameworks, and I heard about Vue that was the new thing coming and then I heard also about Nuxt and I think the first time I tried Vue was with Nuxt so I tried both together.
Once Vue 2.0 arrived in September 2016, back then I was working on my e-commerce website. I was doing server-side rendering manually with another framework, but since Vue 2.0 arrived with virtual DOM I decided to remake my e-commerce website with Vue.js and server-side rendering.
In October 2016, Next.js came out from the company named Vercel. I decided to recreate the same framework but for Vue.js, so Next with React, Nuxt for Vue. And this is how it started. In November 2016, the first version of Nuxt came out.
Evan You on Nuxt's Origins and Vue's Evolution
I think Nuxt first came out when it was shortly after I released Vue 2. So Vue 2 introduced the capability to do server-side rendering, and I built a demo showcasing that capability using, I think, the demo was called Vue Hacker News.
And a few days after that, Sebastian, who is the creator of Nuxt, he came up with the first version of Nuxt. Yeah, that was really fast. He just did it in a few days and I was really surprised to see him pull it off so fast. So the Honeypot documentary, I think was filmed in 2020. Yeah, so the documentary was really successful. I think it now has 1.5 million views on YouTube. And that really helped with the popularity of Vue over time, I think. Since then, I think it was just right before we released Vue 3. So Vue 3 was released in September that year, and over four years, Vue 3 has matured a lot. We have finally most of the ecosystem has migrated over to the new version. So people are loving the new version more.
And I guess another important change is I created Vite in that same year. So four years later now, Vite is now the standard tool that's powering not just Vue, but also a lot of other tools, including the latest version of Nuxt as well.
The Nuxt.js Ecosystem and Module System
We have the main office, the headquarter in Bordeaux, which is a nice place close to our family and Paris in order to travel and meet awesome people and startups. So Bordeaux was the perfect place in between.
The ecosystem around Nuxt.js is quite big actually. Nuxt is used on more than 2 million websites according to BuiltWith. And we created a plugin system where anyone can add features to Nuxt by creating what is named a module. And so far we have around 250 modules made by 200 contributors, maintainers and more than a thousand contributors.
Discovering Supabase: A Firebase Alternative
And one of those modules is Supabase, which allows you to add a database and authentication to your Nuxt application. The first time I heard about Supabase, well, I can't remember, but I remember when I talked about Supabase and it was in January 2021 when I tweeted about the open source Firebase alternatives and Supabase was the most sexy one, in my opinion, and I took a screenshot of each one and actually a lot of people discovered from my community what Supabase is.
After that tweet, I remember I was pinging Baptiste, the product lead of Nuxt Studio, about the fact that we had to create a Nuxt module for Supabase. Until that day, we had this crazy idea of challenging ourselves and creating push-uppers.
The Push-Up Bet That Birthed a Module
Seb told me, there is a great alternative to Firebase. You should have a check.
I had a party with Sebastian. We were a bit tipsy and we decided to challenge ourselves. We had a bet and we told ourselves who can do the maximum push-ups in a row. So we started each in a row. I do 50, he does 50. We did push-ups for two hours. And at the end of the party, of course, he lost. The next day, we just kept going. So we didn't see each other, but we were sending each other messages. I've done 50 more push-ups. You have to do so. And we were counting push-ups like this.
And when they said, came to me and told me, you know what? We should create an application. You should use Nuxt 3. It was the beginning of Nuxt 3. Nuxt 3 was still in the alpha version at this point. At this moment, it's only create a Nuxt 3 application. You should try the new super cool database and classification platform.
And this is how we've created push uppers. This is the beginning and the story behind the creation of the next Supabase module because I created the module after creating this application. And now it's been three years and a half and we do push ups every day.
Why Supabase Is a Perfect Backend for Nuxt
What I love about Supabase is the easy way of authenticating yourself in an application and easy way to maintain your database. As Nuxt is perfect for the front-end layer and displaying. Creating a rich website, Supabase is the missing back-end you could plug to your Nuxt application quickly. It was really simple to integrate it with Nuxt. It took me like a day I think to have a working application. On top of this it's open source so everyone can contribute and understand the source code and it's based on Postgres which is one of the most popular open source databases as well.
When you are a developer, a lazy developer, you love to be fast when implementing stuff and with Supabase that was straight forward. As more and more developers use JavaScript to build full stack applications, so frameworks like Nuxt becomes more popular. So the natural thing you also need when you build a full stack application is databases, authentication, storage, all the associated things. So in the past, usually you likely will have to use either a combination of multiple third-party services, or you'll have to use something like AWS, which is very complicated, but Supabase just give you a very easy to use combination of a lot of these features. We also have first-class integrations with Nuxt, so it's a very seamless experience.
The Rewarding Experience of Being a Module Maintainer
So you can prototype something really, really fast, and then you can also turn it into production scale easily. To be a module maintainer on Nuxt, module maintainer was really new for me because I was coming from an agency, so the open source was new.
I loved when I came to Nuxt, so it was kind of a goal to me to create an open source module or at least contribute to open source. And it's great to be part of the community and mainly to have some ideas, some pull requests, helps from the others and to be able to merge everything. To have a great module which is used by lots of people and the more it's used, the best it is, the more happy you are. So yeah, that's a great feeling.
What’s Next for Vue, Nuxt, and the Ecosystem
What's next for Vue and Nuxt? Keep pushing the limits of what's possible on the web. Keep listening the community feedback and we want to push authentication. It was the missing piece from Nuxt 2 to Nuxt 3. Keeping the edge deployment and giving more features to Nuxt developer to create amazing apps.
So in Vue, we are currently working on 3.6, which includes another big improvement, performance improvement to the reactivity system. And also we are going to stabilize suspense, which is a feature that Nuxt relies on.
For Nuxt, I'm really excited about a lot of the new things happening in the UNJS ecosystem, which is the collection of libraries that support Nuxt. I know Puya has been working on some new versions of the core packages, and we are working on some level of collaboration between Vite and UNJS ecosystem as well. And finally, for Void Zero, it's my new company, so we started last year, and we're currently working on building an end-to-end unified toolchain for JavaScript that's written in Rust. So we're really close to shipping our first major project, which is Roda. It's a Rust-based bundler that's going to replace some of the existing dependencies in Vite, which is going to make Vite more powerful and more performant. Because Vite powers Nuxt and Vue, which means Vue and Vite will also benefit a lot from that.
We'd like to thank you to all the Nuxt and Vue community to be so warm and welcoming when I arrived. And thank you to all the contributors of the module and maintaining because it helps a lot. And yeah, thank you all.
So the growth of the Vue and Nuxt community is amazing. And the projects wouldn't have the influence and success they have now without the support of the community. So thank you. For not just the users, but also more importantly, the contributors to the framework, sponsors, collaborators, community leaders. So yeah, thank you all.
Working with all these amazing Vue and Nuxt developers as well as JavaScript developers has been quite amazing for all these years. Without them I wouldn't be here today and I'm very grateful for them for being with us for so many years and I can't wait to show you what's next. So thank you for being with us.