端午假期愉快。假期快速翻阅了 React Native 的官网文档,说一说感受。
背景#
目前工作的缘故,在处理 uni-app x 更新到 iOS 上的一些逻辑,不知道目前 uni-app x 进化到什么程度了,想看一看 React 这边的跨端方案,也是毫无争议的 React 首选方案:React Native 的官网,怕自己忘了顺手总结了一些笔记,[[速通 react native 官网]],文章就不发了,都是零碎笔记,这里对比 uni-app x 说说自己的感悟。
访问 React Native · Learn once, write anywhere
网站阅读体验#
作为小白,我看过 Flutter/Android/Swift 的官网,想从纯小白角度去看,app 怎么快速跑起来,有没有教学指导。我感觉这些网站一般,不过比 SpringBoot / MySQL 之类的网站好,最起码审美是现代的。
阅读 React Native 感受还好一点,从整体结构上,还是遵循了技术网站的几大结构: Guildes 入门指南、Docs 系统文档、API 索引、Playground 预览。
快速见到效果#
因为没有办法在网页上预览客户端的效果,但借助一个壳 app,也就是 Expo,可以随时扫码预览效果,非常直观。React Native 技术现在完全推荐 Expo 这个框架了,纯小白也可以通过 npm 的命令行快速启动一个 Demo 应用,本地实现效果。
有趣的是,在快速上手开发的过程中,不需要刻意讲述 Android Studio 和 XCode ,感受还挺好的,不像 Flutter,劝退外行。
从初学者角度看,通过引入一个框架,我认为是非常好的,复杂的内容往后放,需要了自然需要认真啃。对比 uni-app x,因为有 HBuilderX,天生屏蔽了很多概念,也算是框架的对比实现。
时刻牢记,对初学者,对刚入门的用户来说,太早暴露参数不好,先屏蔽细节,跑起来,需要优化、高级功能了再说,是合适的。
系统学习爱好者#
在 Guilde 的 Basic 部分,只介绍了最常规的概念,我认为也是对的。
过了基础部分,开始系统讲述时候,我觉得也很好,从软件的开发生命周期角度看,开发之前的环境准备、整体工作流、如何布局画页面、调试、自动化测试、性能调优等,逐步展开了。绕不开的原生交互部分,也是先介绍了 NativeModules 才继续展开。
遗憾是,我作为新手,看完了也没理解现在所谓的 Leagcy 结构和新架构现在是什么状态了,没搞懂。RN 好像架构上变了,但是没看懂现在是过渡什么阶段了。
文档不支持多语言#
官网不支持多语言,但是看到有一个人在维护 RN 的中文网站,民间的版本。
React Native 中文网・使用 React 来编写原生应用的框架
怕更新老,没敢多看。后来随手点了点,好像也不是很新。作者可能是极客时间课程的作者,有课程的导流,也有周边产品的导流。
想了想,不支持国际化也是常态,只有前端相关的这些库,国际化更新的比较及时。还是工作流没人去搞。
强调框架而不是自由组合#
我一开始都没意识到,Expo 不是 RN 官方出的。果真是 React,有点类似于 React 和 Next.js 的关系:鼓励使用框架,而不是自己拼装编写一堆配置。
看落后的中文文档时候才看到,原来鼓励 react-native-cli
这个包。在官网中目前,需要刻意找才能找到介绍入口。苦口婆心推荐框架,如果你坚持习惯自己组装,也留了尾巴。
进入 expo 的官网,比如我想使用相机的原生 api,可以安装一个插件来完成,这也是一个生态了,有点类似于 Ionic。提供壳容器、提供插件生态。
开放架构#
React Native 官网只维护 Android 和 iOS 两个平台,对 web 的支持是社区、第三方来维护的。比如 windows/MacOS 也是社区维护的。创建一个新架构,也有迹可循。
不过我顺手搜索了 React native Harmony ,没有结果。
额外延申#
特别喜欢 xlog,我观察到 xlog.app 的客户端,也是使用 expo 来做的,本身是开源的,未来或许可以进一步看看。