Go and Rust bring unprecedented speed to JavaScript bundling and transpilation

The Status Quo and Its Discontents Before diving into these new tools, let’s consider where we are. For years, Webpack has dominated the bundling landscape, with tools like Babel handling transpilation. These tools, written in JavaScript, have served us well, but as projects grow larger and demands for features increase, their performance limitations have become increasingly apparent. A typical modern JavaScript project involves multiple processing steps, each adding to build time. First comes transpiling ES6+ syntax for browser compatibility, followed by converting TypeScript or Flow to JavaScript. Then there’s the transformation of JSX into React function calls, bundling of hundreds or thousands of modules, minifying the resulting code, and finally generating source maps. For large projects, this full process can take minutes—a real drag on development velocity. ...

September 29, 2021 · 6 min · 1091 words · Dennis Lin

Gearing Up for React 18: Concurrent React

React 18 is on the horizon, and it’s bringing some of the most significant changes to the library since hooks were introduced. As the alpha version has hit GitHub and the React team has shared their plans, there’s a lot to unpack and prepare for. Having spent the last few weeks digging through discussions and experimenting with the alpha, I’m excited to share what these changes mean for our codebases. ...

August 14, 2021 · 8 min · 1502 words · Dennis Lin

Webpack 5 Module Federation: My First Small-Scale Experiment

When Webpack 5 was officially released in October, the frontend community couldn’t stop talking about one feature in particular: Module Federation. After years of grappling with increasingly complex frontend architectures, the promise of being able to seamlessly share code between applications at runtime—not just build time—feels like the solution many of us have been waiting for. If you follow frontend architecture discussions, you’ve likely seen the buzz around Module Federation since earlier this year when Zack Jackson first introduced the concept. As he aptly put it, this is “the JavaScript bundler equivalent of what Apollo did with GraphQL” - a truly revolutionary approach to code sharing. ...

December 18, 2020 · 7 min · 1467 words · Dennis Lin

Headless CMS in the Wild: Migration Stories and Strategies

The journey toward headless architecture is rarely a straight path. Over the past year, I’ve helped some organizations transition from traditional content management systems to headless alternatives, and each migration revealed unique challenges and opportunities that don’t always make it into the marketing materials. Let’s dive into what actually happens when you “chop off the head” of your CMS—a procedure that sounds more like medieval punishment than modern web architecture. ...

December 9, 2020 · 9 min · 1706 words · Dennis Lin

Svelte 3: The Compiler as Your Framework

The front-end landscape has been dominated by React, Vue, and Angular for years now. These frameworks have fundamentally transformed how we build web applications, bringing reactivity, component-based architectures, and improved developer experiences. But they’ve also introduced significant runtime costs: virtual DOM diffing, component lifecycle management, and substantial JavaScript bundles that users must download and parse before seeing anything meaningful. Hear out Svelte 3, which has been gaining serious momentum since its release last year. Rather than shipping a runtime library to interpret your components in the browser, Svelte shifts that work to compile time. The result? Dramatically smaller bundles, faster startup times, and pure vanilla JavaScript that runs with minimal overhead. ...

November 2, 2020 · 9 min · 1712 words · Dennis Lin