Million.js is a solution to optimize rendering performance in React applications, particularly for data-heavy or UI-heavy applications.
Million.js combines the benefits of React's virtual DOM with the performance advantages seen in other libraries like Svelte or signals, providing a compromise solution for creating highly interactive and fast-rendering applications.
While Million.js is gaining traction and actively addressing challenges, its adoption in production environments is still limited due to integration difficulties with various frameworks and serverside rendering.
Deep dives
Main Idea 1
MillionJS is introduced as a solution to optimize rendering performance in React applications, particularly for data-heavy or UI-heavy applications. It aims to provide faster rendering of the user interface by introducing the concept of a block virtual DOM. This approach allows for surgical updates to dynamic parts of a component, avoiding the need to re-render the entire UI and improving performance.
Main Idea 2
React's virtual DOM and the tools it provides, such as memo and proper component ordering, are effective in most cases to optimize React applications. However, for certain complex applications with heavy data or complex UI, these optimizations may not be sufficient. MillionJS aims to fill this gap by offering a unique approach that combines the best of both worlds: not having to think about data like React, while also providing the performance benefits seen in other libraries like Svelte or signals. It provides a compromise solution for developers looking to create highly interactive applications that require fast rendering.
Main Idea 3
Installing and using MillionJS involves integrating the MillionJS package and compiler with your specific tooling or meta frameworks like Next.js or Webpack. The installation process can vary depending on the project setup. While MillionJS is gaining traction with hobby projects, it is still in its early stages with limited adoption in production environments. The project faces challenges in integration with various frameworks and serverside rendering, but the team is actively working on solutions and providing documentation to help developers use MillionJS effectively.
The future of React and other frameworks
The podcast episode discusses the future of React and whether it will remain the dominant framework or if there will be a paradigm shift. It explores the innovations and solutions within the React ecosystem, such as React Forget and off-screen rendering, and mentions tools like MillionJS and pre-act. The podcast acknowledges that there are both good and bad solutions in the React ecosystem, and it remains to be seen what will happen with MillionJS and the overall direction of React.
Age and prediction of technologies
The podcast touches upon the social and psychological perspective of projects and the ability to predict the success or failure of technologies. The hosts discuss how younger developers tend to be more excited about new technologies, while older developers may be more hesitant. They reflect on their own experiences and perspectives, highlighting the importance of trial and error, experimentation, and the positive impact of new ideas in the tech ecosystem. The hosts also mention the impact of having children on their views and priorities, leading to more conservative perspectives and a focus on ensuring a better future for their kids.
Aiden Bai is a Web Performance Engineer and Creator of Million.js. Tobiloba Adedeji is a Software Engineer. They join the show to talk about Million.js. They begin by explaining what it is all about, its purpose, the problem it solves, and many more! Sponsors