This podcast episode explores the motivation and process behind the rewrite of the Vue.js framework from version 2 to version 3. The decision to rewrite was driven by the accumulation of problems in the Vue 2 codebase and the desire to improve the architecture, performance, and maintainability of the framework. The episode discusses the challenges and considerations involved in rewrites, such as managing API changes and ensuring a smooth transition for users. The use of TypeScript and the comparison with Flow in terms of type systems and development experience is also explored. Additionally, the episode highlights the improvements made in the Vue compiler, including better handling of JavaScript expressions, integration with the Babel toolchain, and compiler optimizations. The importance of change detection and reactivity mechanisms in Vue, as well as the evolution of View's approach to these concepts, is discussed. The episode also touches on the adoption of width blocks, the relationship between Vue and Nuxt, and the marketing dynamics and visibility of Vue compared to other frameworks in the industry.
Anti-commonsence
The episode suggests that the future of Vue might involve a shift away from virtual DOM towards a more solid-style approach. This viewpoint goes against the common understanding that virtual DOM has been a key feature of Vue and its efficiency and performance benefits.