Stop Turning the Mobile Web Into a Second-Class Platform

Stop Turning the Mobile Web Into a Second-Class Platform

别再把移动端网页变成二等公民了

There is a long-term trend in the software industry that I think developers should pay more attention to: We are slowly replacing the open mobile web with isolated app containers. And I think this is a mistake. 软件行业中有一个长期趋势,我认为开发者们应该给予更多关注:我们正在缓慢地用封闭的应用程序容器取代开放的移动端网页。我认为这是一个错误。

Not because native applications are inherently bad. Some categories absolutely need them: low-latency audio, advanced camera processing, heavy offline workloads, games, Bluetooth integrations, system-level services, etc. But a huge percentage of modern mobile apps are not really “native applications” anymore. They are portals to web content wrapped inside a native shell. And yet, by moving users from the browser into apps, we lose many of the properties that made the web powerful in the first place. 这并不是因为原生应用本身不好。某些类别确实需要它们:低延迟音频、高级相机处理、繁重的离线工作负载、游戏、蓝牙集成、系统级服务等。但现代移动应用中有很大一部分已经不再是真正的“原生应用”了。它们只是包裹在原生外壳中的网页内容入口。然而,通过将用户从浏览器引导至应用中,我们失去了许多让网页最初变得强大的特性。

The Mobile Browser Is More Powerful Than People Realize

移动端浏览器比人们意识到的更强大

On desktop, most developers understand the value of the browser immediately: tabs, deep linking, bookmarking, extensions, history, multi-window workflows, interoperability, inspectability, copyable URLs, open standards. But on mobile, many companies push users toward applications even when the actual product experience is fundamentally web-shaped. The result is fragmentation of workflows that the browser already solved decades ago. 在桌面端,大多数开发者能立刻理解浏览器的价值:标签页、深度链接、书签、扩展程序、历史记录、多窗口工作流、互操作性、可检查性、可复制的 URL 以及开放标准。但在移动端,许多公司即使在产品体验本质上是网页形态时,依然强推用户使用应用程序。结果就是,浏览器几十年前就已经解决的工作流问题,现在却变得支离破碎。

A Browser Tab Is a Better UX Primitive Than Most Mobile Apps

浏览器标签页是比大多数移动应用更好的用户体验原语

This sounds controversial until you compare them directly. In a browser: I can open 20 conversations in separate tabs. I can preserve reading state naturally. I can bookmark specific content. I can restore sessions. I can share exact URLs. I can use ad blockers. I can use browser extensions. I can search across tabs. I can keep temporary research contexts alive for weeks. 这听起来很有争议,直到你将它们直接对比。在浏览器中:我可以打开 20 个对话标签页。我可以自然地保存阅读状态。我可以收藏特定内容。我可以恢复会话。我可以分享精确的 URL。我可以使用广告拦截器。我可以使用浏览器扩展。我可以在标签页间搜索。我可以让临时的研究上下文保持数周。

In many mobile apps: navigation state is fragile, deep linking is inconsistent, opening multiple contexts is awkward, content is trapped inside proprietary navigation systems, session management is opaque, there is no universal multitasking model. The browser already solved these problems with universal primitives. Apps often reinvent them poorly. 而在许多移动应用中:导航状态脆弱,深度链接不一致,打开多个上下文很别扭,内容被困在专有的导航系统中,会话管理不透明,且没有通用的多任务处理模型。浏览器早已通过通用原语解决了这些问题,而应用往往只是在拙劣地重复造轮子。

Many Mobile Apps Are Just Embedded Websites

许多移动应用只是嵌入式网站

A lot of modern applications are effectively: React Native shells, Electron-like architectures, WebViews, remote-rendered interfaces, thin API clients around server-driven UI. And that is fine technically. But if the experience is fundamentally web-centric anyway, why are we abandoning the actual web platform? Especially when the browser gives users: portability, inspectability, interoperability, lower installation friction, better discoverability, easier sharing, less platform lock-in. 许多现代应用程序实际上就是:React Native 外壳、类 Electron 架构、WebView、远程渲染界面,或者是围绕服务器驱动 UI 的轻量级 API 客户端。从技术上讲,这没问题。但如果体验本质上是以网页为中心的,我们为什么要放弃真正的网页平台呢?尤其是当浏览器能为用户提供:可移植性、可检查性、互操作性、更低的安装门槛、更好的可发现性、更易于分享以及更少的平台锁定。

The “App-First” Strategy Hurts the Mobile Web

“应用优先”策略正在伤害移动端网页

This is the part that concerns me most. When companies prioritize native applications aggressively, something predictable happens: the mobile app becomes the primary platform, the mobile website becomes “good enough,” feature parity disappears, browser support stagnates, investment into web capabilities declines. Eventually the mobile web experience degrades into: limited functionality, missing features, constant “Open in App” interruptions, intentionally degraded UX, broken navigation, artificial restrictions. This creates a feedback loop: weaker mobile web → more users forced into apps → even less incentive to improve the web. That is dangerous long term. 这是最让我担心的部分。当公司激进地优先考虑原生应用时,可预见的事情就会发生:移动应用成为主要平台,移动网站变得“凑合能用”,功能对等性消失,浏览器支持停滞,对网页能力的投入减少。最终,移动端网页体验退化为:功能受限、缺失特性、不断的“在应用中打开”干扰、故意降级的用户体验、导航失效、人为限制。这形成了一个反馈循环:移动网页变弱 → 更多用户被迫使用应用 → 改进网页的动力进一步降低。从长远来看,这是危险的。

We Are Accidentally Weakening the Open Platform

我们正在无意中削弱开放平台

One of the biggest historical advantages of the web was openness. A browser is a universal runtime. A website can be indexed, linked, archived, shared, inspected, extended, and accessed without asking permission from a platform gatekeeper. Apps move the industry toward: closed ecosystems, proprietary distribution, platform dependency, duplicated implementations, reduced interoperability. The web was never perfect, but it created an environment where small teams could ship globally accessible software instantly. That matters. Especially for developers. 网页历史上最大的优势之一就是开放性。浏览器是一个通用的运行时。网站可以被索引、链接、存档、分享、检查、扩展,并且无需征得平台守门人的许可即可访问。而应用正推动行业走向:封闭生态、专有分发、平台依赖、重复实现、互操作性降低。网页从未完美,但它创造了一个环境,让小团队能够即时发布全球可访问的软件。这很重要,尤其是对开发者而言。

Progressive Web Apps Were Supposed to Bridge This Gap

渐进式网页应用(PWA)本应弥补这一差距

PWAs are one of the most important ideas the industry produced in the last decade. The promise was compelling: installable web apps, offline support, push notifications, background sync, richer device APIs, app-like UX without abandoning the web. But mobile platforms still treat the browser as a second-class citizen in many areas. And this directly affects innovation. PWA 是过去十年中行业产生的最重要的理念之一。其愿景非常引人注目:可安装的网页应用、离线支持、推送通知、后台同步、更丰富的设备 API,以及在不放弃网页的前提下实现类似应用的体验。但移动平台在许多领域仍然将浏览器视为二等公民,这直接影响了创新。

A Real Example: Voice Interfaces on Mobile Web

一个真实的例子:移动网页上的语音接口

I built a voice-command-oriented web application. On desktop Chrome, continuous speech recognition works surprisingly well. You can create fluid voice-driven workflows with near real-time interaction. But on mobile, the experience degrades dramatically. The browser often allows only short-lived microphone capture sessions for speech recognition workflows. Continuous recognition behavior is heavily restricted compared to desktop environments. As a result: recognition sessions restart constantly, UX becomes fragmented, latency increases, conversational interaction becomes unreliable. Meanwhile native apps can often access far more persistent audio capabilities. This creates a structural imbalance: developers are pushed toward native apps not because the web model is fundamentally wrong, but because the platform capabilities are artificially constrained. And when users stop using the mobile web, platform vendors have even less incentive to improve it. 我构建了一个面向语音指令的网页应用。在桌面版 Chrome 上,连续语音识别的效果出奇地好。你可以创建流畅的语音驱动工作流,实现近乎实时的交互。但在移动端,体验大幅下降。浏览器通常只允许语音识别工作流进行短时间的麦克风捕获。与桌面环境相比,连续识别行为受到严格限制。结果就是:识别会话不断重启,用户体验变得支离破碎,延迟增加,对话交互变得不可靠。与此同时,原生应用往往能访问更持久的音频功能。这造成了一种结构性失衡:开发者被推向原生应用,不是因为网页模型本身有问题,而是因为平台能力被人为限制了。当用户不再使用移动网页时,平台厂商改进它的动力就更小了。

Browser Features Benefit Everyone

浏览器功能惠及所有人

The browser ecosystem creates positive externalities. When users rely on browsers: browser vendors compete harder, standards evolve faster, accessibility improves, performance tooling improves, privacy tooling improves, extension ecosystems grow, cross-platform compatibility matters more. The web encourages shared infrastructure. Apps encourage isolated silos. 浏览器生态系统产生了正外部性。当用户依赖浏览器时:浏览器厂商竞争更激烈,标准演进更快,无障碍性提升,性能工具改进,隐私工具改进,扩展生态系统增长,跨平台兼容性变得更加重要。网页鼓励共享基础设施,而应用则鼓励孤立的“筒仓”。

Security and User Control Matter Too

安全与用户控制同样重要

Browsers also provide something increasingly rare: user mediation. Permissions are usually: visible, revocable, origin-scoped, standardized. Users can: clear site data, inspect permissions, block trackers, isolate sessions, use privacy extensions, sandbox activity more predictably. Native mobile apps often request much broader persistent access with sign. 浏览器还提供了一种日益稀缺的东西:用户中介。权限通常是:可见的、可撤销的、基于源的、标准化的。用户可以:清除站点数据、检查权限、拦截追踪器、隔离会话、使用隐私扩展、更可预测地沙盒化活动。而原生移动应用往往会请求更广泛的持久访问权限……