# How JavaScript-First Frontend Practices Struggled with the Mobile Web

DevFeed: [How JavaScript-First Frontend Practices Struggled with the Mobile Web](<https://devfeed.tech/articles/reckoning-part-1-the-landscape-26546.md>)

Original publisher: [Read original article](<https://infrequently.org/2024/08/the-landscape/>)

Author: Alex Russell

Published: 2024-08-12T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Russell](<https://devfeed.tech/sources/alex-russell.md>)

Topics: [Front end](<https://devfeed.tech/topics/frontend.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [WebView](<https://devfeed.tech/topics/webview.md>), [Chromium](<https://devfeed.tech/topics/chromium.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [performance](<https://devfeed.tech/tags/performance.md>), [webdev](<https://devfeed.tech/tags/webdev.md>), [webview](<https://devfeed.tech/tags/webview.md>)

## AI overview

This first part of a four-part investigation examines how JavaScript-first frontend culture developed alongside the mobile web. It describes browser development for Android, the challenges of Chromium's memory-hungry multi-process sandboxing, and the introduction of PWAs and Push Notifications, then argues that desktop-oriented JavaScript frameworks brought unnecessary bloat to mobile-first projects.

## Source excerpt

Instead of an omnibus mega-post, this investigation into JavaScript-first frontend culture and how it broke US public services has been released in four parts. Other posts in the series: Reckoning: Part 2 -- Object Lesson Reckoning: Part 3 -- Caprock Reckoning: Part 4 -- The Way Out When you live in the shadow of a slow-moving crisis, it's natural to tell people about it. At volume. Doubly so when engineers can cheaply and easily address the root causes with minor tweaks. As things worsen, it's also hard not to build empathy for Cassandra. In late 2011, I moved to London, where the Chrome team was beginning to build Google's first "real" browser for Android.1 The system default Android Browser had, up until that point, been based on the system WebView, locking its rate of progress to the glacial pace of device replacement.2 In a world where the Nexus 4's 2GB of RAM and 32-bit, 4-core CPU were the high-end, the memory savings the Android Browser achieved by reusing WebView code mattered immensely.3 Those limits presented enormous challenges for Chromium's safer (but memory-hungry) multi-process sandboxing. Android wasn't just spicy Linux; it was an entirely new ballgame. Even then, it was clear the iPhone wasn't a fluke. Mobile was clearly on track to be the dominant form-factor, and we needed to adapt. Fast.4 Browsers made that turn, and by 2014, we had made enough progress to consider how the web could participate in mobile's app-based model. This work culminated in 2015's introduction of PWAs and Push Notifications. Disturbing patterns emerged as we worked with folks building on this new platform. A surprisingly high fraction of them brought slow, desktop-oriented JavaScript frameworks with them to the mobile web. These modern, mobile-first projects neither needed nor could afford the extra bloat frameworks included to paper over the problems of legacy desktop browsers. Web developers needed to adapt the way browser developers had, but consistently failed to hit the