现在公司里面的所有小程序,快应用,rn等等都在使用Taro在开发.
如果只兼容一端的话,使用Taro开发,没有任何问题.
但是又想一次开发,各端正常运行的话,在很多的细节上是要花一点心思的.
每一端有每一端的难.
华为快应用 > 快应用 > react Native > Swan小程序 > 微信小程序 > H5
在开发过程中,如果有涉及到快应用的业务,建议优先开发快应用.
快应用的布局标准跟js容器环境跟其他的小程序或者是H5有一定的差异.
并且华为快应用与其他快应用有很多莫名其妙的差异.
如果涉及到快应用,请谨慎对待开发时间.
目前看来,快应用的对UI布局的支持与小程序有一定的差异.虽然使用Taro的样式区分,快应用与小程序确实可以使用一套同样的代码同时跑在两端上.
但是在开发过程中,他们之间的差异有太多意想不到(快应用不符合W3C规范)的差异,建议UI布局相关的代码,各端单独布局.业务相关的可以使用一套代码. 就是布局样式独立,行为保持一致.
不然会花掉太多的布局差异抹平的工作.
React Native在UI布局上也只是部分支持W3C标准.虽然布局上不能跟小程序H5一样灵活,
对比起快应用来,并不会多出一个要额外兼容的华为快应用.
目前Taro封装的React Native的特性与小程序是非常接近的, 如果不过多调用太多冷门的api,基本上还是可以独立开发完成大部分UI编程.
如果RN想要调用原生APP的组件,在目前开来会带来相当大的沟通成本.
在开发中本身ios与安卓就有一定的特性差异,放到RN里实现后又会带来其他的差异.
并且开发人员从一个人变成了三个人.
如果桥接的组件太过于复杂,开发人员可能会有一种还不如自己独立开发的抱怨.
这个时候多端一起开发,时间不一定会比独立开发要快.
Swan小程序与微信小程序已经非常接近了.
就我们现有业务来说除了wifi不能实现以外,其他的基本上都跟微信小程序保持了一致.
目前开发中,IDE的卡顿是Swan小程序最不好的开发体验.
迭代中,swan小程序的基础库兼容方面也做得不是很好,
好几次遇到莫名其妙的问题,都是因为基础库兼容不好导致的.
来自:https://alili.tech/archive/hm5dl5tsw3k/
官方解释: 使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。
众所周知,Taro项目可以生成RN、H5和各种平台小程序,打包的命令位于package.json文件的scripts节点中,如下所示。当我们执行打包命令就可以生成不同平台的资源文件:
编译速度一直是困扰开发者的头等问题,现阶段大型 Taro 项目即使在增加了 cache-loader 、 thread-loader 等优化手段后,编译耗时仍高居不下。因此在 v3.5 版本中 Taro 重点对编译系统进行了重构
Cli这个文件的作用就是接受内置命令、分解内置命令、针对不同的内置命令注册对应的命令插件;首先初始化的时候获取我们的项目路劲
注意:由于eslint-config-airbnb目前版本已经超过19,会出现一个小问题,箭头函数和命名函数会被Eslint 提示冲突,这是由于19版本的升级导致的解决方案目前有两个
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!