Great talk. I'm only sad that there are so many "competing" bundlers now. As you've mentioned around 33:22, there's more bundlers and tools than ever. I wish more of those efforts were combined into less tools. It would making picking a tool easier and I think more concentrated effort would be better. I do understand that everyone doing their own thing might bring slightly more innovation because people can explore on their own, but it also brings too much fragmentation in my opinion. And btw, props to you. You are truly a 10x developer. I haven't used Parcel, but I've used React Aria (love it) and I know about your work on Lightning CSS and how Parcel inspired some things in Turbopack. So you are really contributing a lot to the ecosystem.
Excellent talk! Thank you for taking the time and eloquently covering this wide ranging topic. Do you have any references or links that provide more info about: - the 20 parallel requests limit - vite’s scaling issues - the claim that Vite is adopting rolldown in order to do (more?) bundling at dev time Especially the last one was surprising to me because as far as I know vite already does bundling at dev time, but only for 3rd party deps (node modules). And the goal with rolldown is to improve consistency and reliability of dev mode by replacing esbuild and rollup with a single optimizer that works fast enough and minifies well enough to support both dev and prod bundling.
Thanks! - 25 parallel request limit is based on research from the Chrome team. See here: web.dev/articles/granular-chunking-nextjs - Vite is a great tool, and it does bundle dependencies (e.g. node modules) in development similar to how we did it in the Require.js days (e.g. jQuery was a single file), but if your application code grows to a large enough size it can slow down page loads even during development. See here for a discussion on the Vite repo of people who have run into this: github.com/vitejs/vite/discussions/4803 Fundamentally it's the same problem bundlers were designed to solve initially that I discussed. - My understanding is that Vite is planning on adding an option to bundle during development via Rolldown in order to address the above issues for large apps, but will still be bundle-less by default. x.com/youyuxi/status/1808333856996815271
Vite's scaling issue is tied to your third point. Vite doesn't bundle everything during local development, so for projects with an enormous number of modules, performance during development can be bad. Since Vite doesn't bundle everything, browser has to load hundreds or thousands of modules and that is a lot of work for and can basically freeze your browser. I think Rolldown will allow Vite to bundle more during development because of increased performance budget that comes from using Rust as the language for the bundler. So since performance is increased so much, you can bundle things during development without an impact on development server performance and therefore improve the DX. Official Rolldown page only mentions the current two bundler issue (esbuild + rollup), not the Vite performance issue. I think performance was more discussed on various Twitter and Github threads.
That was a great presentation, thank you for taking the time to make it!
Thanks Devon! Beyond the good facts here I appreciate your takes, your work, and the multiplying effect it has on the ecosystem.
Great talk. I'm only sad that there are so many "competing" bundlers now. As you've mentioned around 33:22, there's more bundlers and tools than ever. I wish more of those efforts were combined into less tools. It would making picking a tool easier and I think more concentrated effort would be better. I do understand that everyone doing their own thing might bring slightly more innovation because people can explore on their own, but it also brings too much fragmentation in my opinion.
And btw, props to you. You are truly a 10x developer. I haven't used Parcel, but I've used React Aria (love it) and I know about your work on Lightning CSS and how Parcel inspired some things in Turbopack. So you are really contributing a lot to the ecosystem.
Excellent talk! Thank you for taking the time and eloquently covering this wide ranging topic.
Do you have any references or links that provide more info about:
- the 20 parallel requests limit
- vite’s scaling issues
- the claim that Vite is adopting rolldown in order to do (more?) bundling at dev time
Especially the last one was surprising to me because as far as I know vite already does bundling at dev time, but only for 3rd party deps (node modules). And the goal with rolldown is to improve consistency and reliability of dev mode by replacing esbuild and rollup with a single optimizer that works fast enough and minifies well enough to support both dev and prod bundling.
Thanks!
- 25 parallel request limit is based on research from the Chrome team. See here: web.dev/articles/granular-chunking-nextjs
- Vite is a great tool, and it does bundle dependencies (e.g. node modules) in development similar to how we did it in the Require.js days (e.g. jQuery was a single file), but if your application code grows to a large enough size it can slow down page loads even during development. See here for a discussion on the Vite repo of people who have run into this: github.com/vitejs/vite/discussions/4803 Fundamentally it's the same problem bundlers were designed to solve initially that I discussed.
- My understanding is that Vite is planning on adding an option to bundle during development via Rolldown in order to address the above issues for large apps, but will still be bundle-less by default. x.com/youyuxi/status/1808333856996815271
Vite's scaling issue is tied to your third point. Vite doesn't bundle everything during local development, so for projects with an enormous number of modules, performance during development can be bad. Since Vite doesn't bundle everything, browser has to load hundreds or thousands of modules and that is a lot of work for and can basically freeze your browser.
I think Rolldown will allow Vite to bundle more during development because of increased performance budget that comes from using Rust as the language for the bundler. So since performance is increased so much, you can bundle things during development without an impact on development server performance and therefore improve the DX.
Official Rolldown page only mentions the current two bundler issue (esbuild + rollup), not the Vite performance issue. I think performance was more discussed on various Twitter and Github threads.
wow so many memories.
thank you i love you
vite is blazingly fast