Building a Better Hammer - The Story of Nuxt 4

Rate this content
Bookmark

We'll explore what's new in Nuxt 4, and the architectural decisions we've made to make it 'a better hammer', no matter what kind of project you're facing. I'm aiming for something useful for anyone, even if they don't use Nuxt. So thinking about framework philosophy, and inspiring people with what's under the hood.

Daniel Roe
Daniel Roe
28 min
25 Apr, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Nuxt is a framework for building web apps using Vue and Nitro, driven by a vibrant open source community. Nuxt 4 aims to make the framework more usable and extensible, while focusing on collaboration rather than competition. The modules ecosystem and pluggable architecture enhance Nuxt's functionality and customization options. Nuxt prioritizes user choice and aims for stability and reliability. Nuxt 4 introduces thoughtful breaking changes and is eagerly anticipated by the community.

1. Introduction to Nuxt and Daniel Rowe

Short description:

I lead the Nuxt core team and am involved in other open source projects like Nitro, PageSpeed.dev, RegExp.dev, Fontane, and ElkZone. I'm talking about Nuxt, a framework for building full-stack web apps using Vue and Nitro.

It's a pleasure to be here today, and talking about building a better hammer, the story of Nuxt 4. My name is Daniel Rowe. I lead the Nuxt core team at the moment. I'm also involved in some other projects in open source. I have the privilege of being a full-time open source maintainer.

Aside from Nuxt, I'm also involved in building Nitro. PageSpeed.dev is a fun little project for querying the Google PageSpeed insights and Core Web Vitals APIs in a shareable way. RegExp.dev. Magic RegExp is a library that makes regular expression type safe, but is compiled away at build time. Fontane helps reduce cumulative layout shift in web fonts and improve your Core Web Vitals. ElkZone is a client for Mastodon. FirstCommit.is will find someone's first GitHub commit, and you can find all these and more on my website, Rowe.dev.

Well, this is where I'm basically standing at the moment. Only Bali, my cat, has been shut out of the room, but yes, she normally keeps me from writing quite a lot of code whenever I'm at home. She is extremely sweet, but very much needs cuddles when she wants them. I'm talking about Nuxt today and building a better Nuxt and looking forward to the future to Nuxt 4. And if you're not familiar with Nuxt, then I think the key thing about Nuxt, from my point of view, it's a framework for building full-stack web apps, and it's built on Vue and on Nitro as a server component.

2. Nuxt: A Progressive and Collaborative Framework

Short description:

Nuxt is a progressively adaptable platform that improves developer experience and allows for customization. It was created in October 2016 by Sebastian Chopin and has since evolved with new versions. Nuxt 3, released in November 2022, introduced significant changes to align with Vue 3 and Webpack 5. Nuxt 4 is expected to be released in June 2024. With over 51,500 stars and 29 million downloads, Nuxt is driven by a vibrant community of open source maintainers and contributors.

The key thing for me is that it's progressive. So the idea is it starts with best practice built in as much as we can, and then it adapts to you as you grow. So as you want to change things, you can. If you need to customize it, you can. So it's a platform that hopefully will improve developer experience, make it feel intuitive, but without limiting you as you need to make changes.

And Nuxt was first created in October 2016 by Sebastian Chopin. And you can see a little timeline of the project. So version 1 and 2 came quite quickly after October 2016. We started working on version 3 in 2020. Vue had moved to version 3, which is a big breaking change. Webpack had moved to version 5, another breaking change. And then halfway through building version 3, Vite came out, which was a completely new builder with an amazing DX. And so version 3 took quite a while. It came out in November 2022. And now we're on the road to version 4, which we expect to come out in June 2024.

Nuxt, we're doing these numbers, just to say, are in some ways vanity metrics. They're not hugely accurate because this is just the stat from NPM or GitHub, but we have 51,500 stars, 29 million downloads, and we're seeing adoption increase. So 62% of Nuxt installs are now on Nuxt 3 versus Nuxt 2. These are live figures, by the way. So every time I see this slide, it's slightly different. And we have a huge number of people who make Nuxt what it is. In honesty, this is a much more important figure than NPM downloads because Nuxt is very much a product of the community and ecosystem. So we're not sponsored by a big corporation. All of the team who build Nuxt are open source maintainers, as are our community. And our direction and what we create and how we build is very much shaped by what we need as a community endeavor. And it is honestly one of the nicest things about Nuxt and about collaborating with people from the open source community. And that is the friendship and camaraderie that we have as part of the community. And there are over 680 contributors.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Building Better Websites with Remix
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Building Better Websites with Remix
Top Content
Remix is a new web framework from the creators of React Router that helps you build better, faster websites through a solid understanding of web fundamentals. Remix takes care of the heavy lifting like server rendering, code splitting, prefetching, and navigation and leaves you with the fun part: building something awesome!
Everything Beyond State Management in Stores with Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Everything Beyond State Management in Stores with Pinia
Top Content
When we think about Vuex, Pinia, or stores in general we often think about state management and the Flux patterns but not only do stores not always follow the Flux pattern, there is so much more about stores that make them worth using! Plugins, Devtools, server-side rendering, TypeScript integrations... Let's dive into everything beyond state management with Pinia with practical examples about plugins and Devtools to get the most out of your stores.
Speeding Up Your React App With Less JavaScript
React Summit 2023React Summit 2023
32 min
Speeding Up Your React App With Less JavaScript
Top Content
Too much JavaScript is getting you down? New frameworks promising no JavaScript look interesting, but you have an existing React application to maintain. What if Qwik React is your answer for faster applications startup and better user experience? Qwik React allows you to easily turn your React application into a collection of islands, which can be SSRed and delayed hydrated, and in some instances, hydration skipped altogether. And all of this in an incremental way without a rewrite.
Full Stack Documentation
JSNation 2022JSNation 2022
28 min
Full Stack Documentation
Top Content
Interactive web-based tutorials have become a staple of front end frameworks, and it's easy to see why — developers love being able to try out new tools without the hassle of installing packages or cloning repos.But in the age of full stack meta-frameworks like Next, Remix and SvelteKit, these tutorials only go so far. In this talk, we'll look at how we on the Svelte team are using cutting edge web technology to rethink how we teach each other the tools of our trade.
Welcome to Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Welcome to Nuxt 3
Top Content
Explain about NuxtJS codebase refactor and challenges facing to implement Vue 3, Vite and other packages.
One Year Into Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
One Year Into Vue 3
Top Content
Vue 3 may still sound new to many users, but it's actually been released for over a year already. How did Vue 3 evolve during this period? Why did it take so long for the ecosystem to catch up? What did we learn from this process? What's coming next? We will discuss these questions in this talk!

Workshops on related topic

Vue3: Modern Frontend App Development
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Modern Frontend App Development
Top Content
Featured WorkshopFree
Mikhail Kuznetcov
Mikhail Kuznetcov
The Vue3 has been released in mid-2020. Besides many improvements and optimizations, the main feature of Vue3 brings is the Composition API – a new way to write and reuse reactive code. Let's learn more about how to use Composition API efficiently.

Besides core Vue3 features we'll explain examples of how to use popular libraries with Vue3.

Table of contents:
- Introduction to Vue3
- Composition API
- Core libraries
- Vue3 ecosystem

Prerequisites:
IDE of choice (Inellij or VSC) installed
Nodejs + NPM
Building WebApps That Light Up the Internet with QwikCity
JSNation 2023JSNation 2023
170 min
Building WebApps That Light Up the Internet with QwikCity
Featured WorkshopFree
Miško Hevery
Miško Hevery
Building instant-on web applications at scale have been elusive. Real-world sites need tracking, analytics, and complex user interfaces and interactions. We always start with the best intentions but end up with a less-than-ideal site.
QwikCity is a new meta-framework that allows you to build large-scale applications with constant startup-up performance. We will look at how to build a QwikCity application and what makes it unique. The workshop will show you how to set up a QwikCitp project. How routing works with layout. The demo application will fetch data and present it to the user in an editable form. And finally, how one can use authentication. All of the basic parts for any large-scale applications.
Along the way, we will also look at what makes Qwik unique, and how resumability enables constant startup performance no matter the application complexity.
Back to the Roots With Remix
React Summit 2023React Summit 2023
106 min
Back to the Roots With Remix
Featured Workshop
Alex Korzhikov
Pavlik Kiselev
2 authors
The modern web would be different without rich client-side applications supported by powerful frameworks: React, Angular, Vue, Lit, and many others. These frameworks rely on client-side JavaScript, which is their core. However, there are other approaches to rendering. One of them (quite old, by the way) is server-side rendering entirely without JavaScript. Let's find out if this is a good idea and how Remix can help us with it?
Prerequisites- Good understanding of JavaScript or TypeScript- It would help to have experience with React, Redux, Node.js and writing FrontEnd and BackEnd applications- Preinstall Node.js, npm- We prefer to use VSCode, but also cloud IDEs such as codesandbox (other IDEs are also ok)
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Vue.js London Live 2021Vue.js London Live 2021
117 min
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Top Content
Workshop
Daniel Roe
Daniel Roe
We'll build a Nuxt project together from scratch using Nitro, the new Nuxt rendering engine, and Nuxt Bridge. We'll explore some of the ways that you can use and deploy Nitro, whilst building a application together with some of the real-world constraints you'd face when deploying an app for your enterprise. Along the way, fire your questions at me and I'll do my best to answer them.
Going on an adventure with Nuxt 3, Motion UI and Azure
JSNation 2022JSNation 2022
141 min
Going on an adventure with Nuxt 3, Motion UI and Azure
WorkshopFree
Melanie de Leeuw
Melanie de Leeuw
We love easily created and deployed web applications! So, let’s see what a very current tech stack like Nuxt 3, Motion UI and Azure Static Web Apps can do for us. It could very well be a golden trio in modern day web development. Or it could be a fire pit of bugs and errors. Either way it will be a learning adventure for us all. Nuxt 3 has been released just a few months ago, and we cannot wait any longer to explore its new features like its acceptance of Vue 3 and the Nitro Engine. We add a bit of pizzazz to our application with the Sass library Motion UI, because static design is out, and animations are in again.Our driving power of the stack will be Azure. Azure static web apps are new, close to production and a nifty and quick way for developers to deploy their websites. So of course, we must try this out.With some sprinkled Azure Functions on top, we will explore what web development in 2022 can do.
TresJS create 3D experiences declaratively with Vue Components
Vue.js London 2023Vue.js London 2023
137 min
TresJS create 3D experiences declaratively with Vue Components
Workshop
Alvaro Saburido
Alvaro Saburido
- Intro 3D - Intro WebGL- ThreeJS- Why TresJS- Installation or Stackblitz setup - Core Basics- Setting up the Canvas- Scene- Camera- Adding an object- Geometries- Arguments- Props- Slots- The Loop- UseRenderLoop composable- Before and After rendering callbacks- Basic Animations- Materials- Basic Material- Normal Material- Toon Material- Lambert Material- Standard and Physical Material- Metalness, roughness - Lights- AmbientLight- DirectionalLight- PointLights- Shadows- Textures- Loading textures with useTextures- Tips and tricks- Misc- Orbit Controls- Loading models with Cientos- Debugging your scene- Performance