个人博客: https://alili.tech/
新时代
跨端框架的出现,前端的浏览器兼容过渡到了客户端平台兼容的新时代。对于初创公司而言,这种框架可以快速试错与降低人力与时间成本。
为什么选择 Taro
并不是说 Taro 方案有多优秀,就当前时间节点看来目前的所有跨端框架都还处于完善阶段。最完善的端可能就是小程序与 H5 了。
但是对于有这对跨端开发有着强烈需求的公司来说,这些还远远不够. 只是第一眼看上去 Taro 比较适合我们的现有业务。后续各种端的数量增大,如何从容对待。 目前也还是未知数。就团队而言,前端输出突然猛增,其他配套设施没跟上等于随时翻车。目前我们面临的最大问题就是测试资源的问题。
对于跨端技术而言,目前相对完善且符合公司业务的技术框架可以选择
- Taro 类 React 语法
- uni-app 类 Vue 语法
在框架层面,两种技术框架提供着非常接近的多端兼容方案。最大的不同是 React 与 Vue 的区别。当然, uni-app 提供了小程序容器方案。Taro 这边目前还没有。
就目前对 Taro 来看,直接实现 Taro to uni 小程序理论上是可以实现的。在 Taro next 版本中,已经支持对 vue 语法, 那这样后续是否会出现多端框架 to 多端框架的局面呢?
回到问题本身,为什么我们选择 Taro
- 团队组建之初使用 React 技术栈
- 我们在 RN 端有了一定的探索
- Taro 支持快应用
就历史包袱来看,选择 Taro 过渡成本是相对较小的。
目标
- 一处代码,多端运行
- 减少维护成本
- 多端快速上线
如果就快速上线来看,人力成本在短期内看,是非常可观的。但是一旦项目变大,团队变得也越大的时候。 自动化测试与项目工程化没有跟上,那就直接天堂变地狱。
处境与心态
目前使用 Taro 开发单端,基本上没有太大的问题。目前遇到的问题都有办法可以解决的,唯一占用开发工作量的是如何处理代码在多端中的兼容问题。 所以处理兼容问题的方法与技巧还有多端开发的意识就尤为重要了。
还有一个就是开发者的心态问题,因为要开发多端,多端差异还是会有的。在开发多端的同时,也要学习多端的开发方式。一来二去的,很容易心态奔溃。 但是如果跨越了这一时期,了解了各端的特点,后续面对一些问题都会游刃有余了~
适配最佳路径
经过各种实践,我们认为一下开发的兼容路径是相对简单的。在适配的过程中,主要还是样式的问题比较多。如果反向适配,会极其痛苦,因为你之前写的任意一行代码,都可能是后面的 bug。
可能在后续的发展中,这种类似短板问题会越来越不明显。但是就现在来看,合适的适配路径,是你必须要关注的重要问题。
RN –> 快应用 –> 小程序 –> 其他小程序 –> H5
脑洞 & 展望
就目前跨端框架发展趋势的话会不会发生以下事件
- 一款跨端框架直接兼容另一款框架,直接吃掉所有端?
- 开源一款类小程序的容器,直接替代 React Native 与 Weex?
- 多端测试框架(一套测试用例测试所有端)会不会应运而生?
尾巴
后续的这段时间,我会把以下问题与团队实践整理出文章供大家思考
- 如何改造原生小程序为 Taro 框架
- 如何改造原生快应用为 Taro 框架
- Taro 如何使用正确姿势开发 React Native
- 如何设计一套跨多端,业务模块支持冷插拔,多团队协作的前端架构
- 基于 Taro 的跨端兼容技巧与各端短板的绕过方法
- 遇到 Taro 的 Bug 我们应该如何调试解决
- 各端遇到的问题汇总与解决方法
网友评论