省流

React Native 一点也不好用, 请用 Capacitor + Vue 谢谢喵。
Tip: 本人大部分博客文章都会有省流部分。如果你的时间非常宝贵, 我希望你能尽快找到问题的解决办法。不过如果没有那么着急的话... 也可以来听听我的故事...? 我会很感激的。(>∀<☆)
引子
书接上回, 关于移动端 APP 开发, 其实我一开始首选的是 React Native (Java / Kotlin 完全不会 TwT), 创建项目时只知道这么一个框架能用 JS 写原生应用 (当时 Lynx 也还没发布...), 所以就用了。
因为我之前一直用的是 Vue, React 没太碰过, 于是速通了一下, 感觉「React 好像也没那么难嘛...」。殊不知, 这只是灾难的开始。
后来才发现, RN 里很多原生 CSS 的特性都是缺失的。写动画还要用 React Native (Re)Animated。本来这就已经很痛苦了, React 的 useRef
和 useState
更让我彻底晕了。(×﹏×) (抱歉这个是本人问题, 和 React 没有关系) RN 开发的生命周期还和 Expo 强耦合, 而 Expo 的 EAS 构建系统配置起来超级麻烦...
写多了之后, 感觉 RN 越写越难受。好在项目还没写多少功能, 及时止损还来得及, 于是我就开始看 RN 的替代品...
Lynx?
前段时间, 字节跳动刚出了一个叫 Lynx 的应用开发框架。据说比 RN 性能强很多, 而且能用原生 CSS。不过我一看它的文档: ( ´・ω・) (图 2-1-1)
△ 图 2-1-1 Lynx 的文档
好吧... 现在用 Lynx 可能还有点太早了 ( – ‸ – )。咱还是看看别的吧...
Webview 方案? Capacitor?
项目一开始, 我就没有考虑过 Webview 方案。在我的印象里, Webview 代表着性能不友好、包体大 (参考 Electron 的打包完整 Chromium 行为)、原生功能调用困难。
但是后来 Claude 告诉了我有 Capacitor 这种东西, 我的观念就改变了。
我上手尝试了一下, 开发过程愉快多了 (´ ∀ ` *)。由于用上了 Vue, 终于不用被 React 追着打了, 开发效率 +++
简单来看个 RN 和 Capacitor 的对比吧。
Capacitor 完胜! 连 RAM 占用都比 RN 要少...
总结
在各类编程语言飞速发展的今天, Web (泛 HTML + CSS + JS) 这种开发成本低、极其易用、「以开发者为中心」的语言将会成为未来。现在设备性能也日渐强大, Web 让开发者能更加专注于功能的实现与用户体验的增强, 而不是把时间都花在解决 "指针"、"内存管理"、"所有权" 等复杂的概念上。
诚然, Web 的性能和原生相差甚远, 但我们不妨看一个简单的问题吧:
在完全不使用第三方库的情况下, 用 C 和 HTML 实现一个基础 UI, 实现标题文本从下向上滑入的动效。
当一名 C 的开发者还在埋头尝试适配各种不同桌面平台时, Web 开发者早已实现了一整个精美的首页 —— 这不是「不文明」, 也不是「丢垃圾」, 而是生态链的力量。
Web 能让我们以前所未有的速度, 实现完全理想化的 UI / UX 目标和应用功能。QQ、Discord、微信、VSCode、网易云音乐, 越来越多的主流应用, 都在转向通过 Web 开发桌面应用。所以, 有什么理由不选择 Web 呢? | ω・)
请和我一起加入 Web 教吧。关注 Capacitor 谢谢喵, 关注 ECMAScript 谢谢喵, 关注 Vue 谢谢喵。