01|Hybrid 都被骂成这样了,还没死

主线第二篇已经把 PhoneGap / Cordova 那条线最痛的地方写得很清楚了:

  • WebView 不稳
  • 宿主碎片化严重
  • 体验账单越来越藏不住

照理说, 这条路线似乎应该被历史彻底扫走。

可现实没有。

它不但没彻底死掉, 后来还以 Capacitor 这种更现代的形态重新稳定下来。

为什么?

因为 Hybrid 真正的问题, 从来不是:

“Web 技术永远不能做 App。”

它更像是:

“上一代 Hybrid 把承诺喊得太大了。”

当年最容易让人失望的, 不是这条路线完全不能做业务。

而是它经常会被卖成:

  • 几乎像原生
  • 一套代码统治移动端
  • 差异都能被壳层吞掉

这些承诺最后被现实一一打脸。

可当这些承诺被收回之后, Hybrid 反而就没那么容易死了。


02|Capacitor 到底把哪件事做现实了?

很多人后来会把 Capacitor 看成:

  • Cordova 升级版
  • Ionic 新 runtime
  • 更现代的壳

这些都没错。

可如果只停在这里, 你还是会错过它最重要的历史意味。

Capacitor 真正重要的地方是:

它不再假装 Hybrid 能无代价地像原生。

你去看 Capacitor 官方迁移文档和 migration strategy, 它的语气非常有意思。

它不是那种旧时代的狂热承诺:

“现在一切都能统一了。”

它更像是在很老实地说:

  • 你可以逐步迁移
  • 先 audit 现有 Cordova plugins
  • 能换成 Capacitor 插件的换
  • 不能换的继续用 Cordova 也行
  • 原生项目和 Web 项目分层更清楚

这说明什么?

说明 Capacitor 已经完全不是意识形态项目了。

它不是来宣布:

“Web 终于赢了。”

它是在说:

如果你本来就适合 WebView 路线,那我们把它做得更诚实、更可维护、更接近现代工程现实。

这就是它真正成熟的地方。


03|它不是翻盘,而是主动缩边界

写这一篇最该立住的一句, 不是“Capacitor 很好用”。

而是:

Hybrid 之所以后来又稳定下来,不是因为它终于统治了移动端,而是因为它终于不再试图统治移动端。

这和 React Nativelearn once, write anywhere 很像。

都是承诺收缩。

只是方向不同。

React Native 的收缩是:

  • 承认宿主差异
  • 继续追求原生感

Capacitor 的收缩则是:

  • 承认自己主要还是 Web 容器路线
  • 承认原生能力需要按需补
  • 承认很多业务根本没必要追逐“全原生感”

这一步为什么重要?

因为它几乎等于在公开承认:

不是所有应用都值得为最像原生那一点点体验,付出完全原生开发的成本。

于是 Hybrid 终于从一种宏大叙事, 退回成一种更精确的工程判断:

  • 业务是否适合 Web 技术栈
  • 宿主需求是否可控
  • 需要的原生能力能否通过插件补齐
  • 性能预算是否允许

一旦问题被这样问, Hybrid 反而就重新变得稳定了。


04|官方偏偏反复强调“渐进迁移”

这一层很有历史味道。

因为它直接说明 Capacitor 并没有想装作自己和上一代路线彻底切断。

相反, 官方文档对迁移的态度很现实:

  • 可以逐步迁移
  • 可以继续使用部分 Cordova 插件
  • 不必一夜之间重写世界

这说明什么?

说明 Ionic 阵营自己也非常清楚:

Hybrid 的价值,从来不在完美,而在可接受的现实收益。

所以它不会再试图把整条路线包装成:

“新的终局。”

它更像是在做一件很工程化的事:

把旧世界里还有价值的部分保住,把最难维护的部分拆出来,把开发者已经接受的现实工作流继续整理干净。

这恰恰是成熟路线的样子。

不是高举高打。

而是:

承认边界,然后把边界内的事情做到稳定。


05|回头看,Capacitor 真正救回了什么?

回头看 Capacitor, 最不该只记住的, 不是某个插件接口。

更该记住的是这句:

Capacitor 的价值,不在于证明 Web 技术终于赢了,而在于它把 Hybrid 从意识形态项目改成了工程务实项目。

Capacitor 真正救回来的, 不是一套旧技术。

它救回来的, 其实是 Hybrid 这条路最后那点还值得保留的现实价值:

  • Web 团队现成可用
  • 很多业务不必追求满格原生
  • 原生能力可以按需补,不必一开始就全押

所以它最重要的贡献, 不是把 Hybrid 重新吹成未来。

而是终于让这条路线学会了认命:

别再假装自己像原生,只要在合适的边界里足够好用,Hybrid 就不会死。


编者注(事实核对):文中关于 Capacitor 对 Cordova 的渐进迁移策略、继续兼容 Cordova 插件、将 Web 项目与原生平台目录分离、先 audit 再替换插件的论述,主要依据 Capacitor 官方文档 Migrating StrategyCordova to Capacitor Migration


参考与延伸阅读

  1. Migrating Strategy | Capacitor Documentation
    https://capacitorjs.com/docs/cordova/migration-strategy

  2. Cordova to Capacitor Migration
    https://capacitorjs.com/docs/cordova/migrating-from-cordova-to-capacitor