[榨干Taro] 开篇 - 跨端开发新时代的思考与举措

新时代

跨端框架的出现,前端的浏览器兼容过渡到了客户端平台兼容的新时代. 对于初创公司而言,这种框架可以快速试错与降低人力与时间成本.

为什么选择Taro

并不是说Taro方案有多优秀,就当前时间节点看来目前的所有跨端框架都还处于完善阶段.最完善的端可能就是小程序与H5了. 但是对于有这对跨端开发有着强烈需求的公司来说,这些还远远不够. 只是第一眼看上去Taro比较适合我们的现有业务.后续各种端的数量增大,如何从容对待. 目前也还是未知数.就团队而言,前端输出突然猛增,其他配套设施没跟上等于随时翻车.目前我们面临的最大问题就是测试资源的问题.

对于跨端技术而言,目前相对完善且符合公司业务的技术框架可以选择

  1. Taro
  2. uni-app

一个类React, 一个类Vue.

在框架层面,两种技术框架提供着非常接近的多端兼容方案. 最大的不同是React 与 Vue的区别.当然,uni-app 提供了小程序容器方案. taro这边目前还没有.

就目前对Taro来看,直接实现Taro to uni小程序理论上是可以实现的. 在Taro next版本中,已经支持对vue语法, 那这样后续是否会出现多端框架to多端框架的局面呢?

会到问题本身,为什么我们选择Taro呢, 1. 团队组建之初使用React技术栈 2. 我们在RN端有了一定的探索 3. Taro支持快应用

就历史包袱来看,选择Taro过渡成本是相对较小的.

目标

  1. 一处代码,多端运行.
  2. 减少维护成本
  3. 多端快速上线

如果就快速上线来看,人力成本在短期内看,是非常可观的.但是一旦项目变大,团队变得也越大的时候. 自动化测试,与项目工程化没有跟上,那就直接天堂变地狱.

处境与心态

目前使用taro开发单端,基本上没有太大的问题.目前遇到的问题,都有办法可以解决的. 唯一占用开发工作量的是,如何处理代码在多端中的兼容问题. 所以处理兼容问题的方法与技巧还有多端开发的意识就尤为重要了.

还有一个就是开发者的心态问题,因为要开发多端,多端差异还是会有的. 在开发多端的同时,也要学习多端的开发方式.一来二去的,很容易形态奔溃. 但是如果跨越了这一时期,了解了各端的特点,后续面对一些问题都会游刃有余了~

适配最佳路径

经过各种实践,我们认为一下开发的兼容路径是相对简单的. 在适配的过程中,主要还是样式的问题比较多.如果反向适配,会极其痛苦, 因为你之前写的任意一行代码,都可能是后面的bug.

可能在后续的发展中,这种类似短板问题会越来越不明显. 但是就现在来看,合适的适配路径,是你必须要关注的重要问题.

RN –> 快应用 –> 小程序 –> 其他小程序 –> H5

脑洞 & 展望

就目前跨端框架发展趋势的话会不会发生以下事件?

  1. 一款跨端框架直接兼容另一款框架,直接吃掉所有端?
  2. 开源一款类小程序的容器,直接替代react Native 与 weex?
  3. 多端测试框架(一套测试用例,测试所有端)会不会应运而生?

尾巴

后续的这段时间,我会把以下问题与团队实践整理出文章供大家思考.

  1. 如何改造原生小程序为Taro框架?
  2. 如何改造原生快应用为Taro框架?
  3. Taro 如何使用正确姿势开发React Native?
  4. 如何设计一套跨多端,业务模块支持冷插拔,多团队协作的前端架构
  5. 基于Taro的跨端兼容技巧与各端短板的绕过方法
  6. 遇到Taro的Bug我们应该如何调试解决
  7. 各端遇到的问题汇总与解决方法

本文链接:

https://alili.tech/archive/bjg2zsidz0a/