2023 Web Tech Check-in: React Performance, PWAs, iOS Browsers
According to Alex Russell from the Microsoft Edge team, “sites continue to send more script than is reasonable for 80+% of the world’s users, widening the gap between the haves and the have-nots.”
Russell calls this “an ethical crisis for frontend” and puts the blame squarely on React and the frameworks that utilize it. He cites a California state government website, CA.gov, that was running slow due to “an official Twitter embed that, for some cursed reason, had been built using React, Next.js, and the full parade of modern horrors.”
I reached out to Russell and asked if he has any advice for developers, React fans or otherwise, as they contemplate their craft at the beginning of 2023.
“My advice for developers and PMs starts with getting representative devices to test on during development,” he replied. “There’s no substitute for really feeling it. Folks can progress from there by running something like webpagetest.org in their CI and/or adopt performance budgets.”
As for which frontend frameworks will be used in 2023, it seems unlikely that React and its brethren are going away any time soon. But there is at least encouraging growth in newer frameworks that output less hefty code — like Svelte and Lit.
PWAs: Good Browser Support, but Mobile Platforms Not Interested
Progressive Web Apps (PWAs) are basically websites, but they have functionality akin to a native iOS or Android application. I reported on the advancing capabilities of PWAs back in 2021. PWAs have continued to grow in power since then, mainly thanks to Google and its Project Fugu (but also due to the pliability of Google’s Chrome team in regards to this functionality).
Thomas Steiner, a developer advocate on Project Fugu, gave me an update on its recent progress. He’s particularly pleased with the increased cross-browser support of many of its APIs.
“The big, big cross-browser success story is definitely agreement on the Origin Private File System (OPFS),” he said. “This unlocks completely new use cases, like SQLite compiled to Wasm and backed by the OPFS. There are more APIs — like Web Codecs, Screen Wake Lock, and Async Clipboard (among others) — that [now] see cross-browser support. On the Fugu team, the big theme for 2023 is refining existing APIs.”
So browser vendors, it seems, have largely gotten behind PWAs. However, mobile development platforms continue to be uninterested in integrating web technologies — including Google’s own Android team, as Chris Coyier pointed out earlier this month. Coyier referred to the Android developer documentation, which listed Kotlin, Java and C++ as languages it supports, and archly commented: “You’re not building a website. There are no web technologies listed there.”
For end users, Appscope is a directory of PWAs, including Instagram, Twitter and Telegram. Update: a reader pointed out that Project Fugu’s API showcase is more up-to-date.
Apple Browser Ban: Under Pressure, but Still No Action
One of the remaining points of frustration with PWAs is that Apple users are the least likely to be able to use them. That’s because of Apple’s long-standing decision to ban competing browser engines on its iOS platform. By forcing browser vendors like Google, Microsoft and Mozilla to use the WebKit browser engine, Apple is deliberately restricting the functionality of web apps on iOS — which impacts PWAs in particular.
As of yet, Apple has not opened up to external browser engines. However, there has been some pressure coming from the UK’s monopoly regulator, the Competition and Markets Authority (CMA), which launched a mobile ecosystems market study in 2021. In June 2022, the CMA announced its report results, in which it said it was “consulting on the launch of a market investigation into Apple and Google’s market power in mobile browsers.” No enforcement action has yet been taken, however.
There was some fresh hope at the end of last year, though, when a report surfaced that Apple is considering removing its requirement for iPhone and iPad web browsers to use WebKit. Apple cited the EU’s Digital Markets Act as motivation. However, no time frame was given.
According to Matthew Thomas of the Open Web Advocacy group, which has been at the forefront of applying pressure on Apple to open up, pressure will continue to be put on government agencies across the world.
“We have been communicating with a number of regulators around the world, including the UK’s CMA, Australia’s ACCC, Japan’s HDMC, the USA’s NTIA and several regulatory bodies in the EU,” he told me. “Our primary aim is to remove Apple’s 2.5.6 rule [in Apple’s App Store review guidelines] banning rival browser engines, but more broadly we are focused on increasing browser competition and increasing competition between Native Apps and Web Apps.”
Thomas said that “these issues are now being seriously investigated by a number of regulatory agencies around the world.”
He cited the EU’s Digital Markets Act as one success story for the OWA. “We managed to get Browsers, Browser Engines and Web Apps to the final text of the Act,” he noted.
The above three issues show that there is a lot of momentum in attempting to address the three highlighted issues, particularly from the browser teams at Google, Microsoft and Mozilla, and from independent groups like OWA.
However, the above updates also show that the big platforms — Apple iOS, Google’s Android division, and Meta — will not voluntarily give up power in their various fiefdoms. Even with React, which is the least problematic of the three issues from a platform power perspective, there is little sign that Meta is concerned about the performance issues associated with the approach.
But I want to end on a hopeful note, so perhaps 2023 is the year the web finally breaks through on iOS and that frontend developers begin to take more notice of performance for end users.