入职新公司,上班第一天就开始接触公司的产品项目。之前项目是由一位后端大佬写的,因为要写公众号和小程序,所有当初选技术的时候他们就选用Taro。上班第一天,就接手了这个项目,开始学习Taro框架。
Taro它是基于React语法开发的,熟悉React的同学用起来是毫无压力的。它的组件化思想,组件生命周期与React保持一直,也支持JSX语法规范。反正我是不会JSX语法的,所以前期用起来还是有点吃力。它的开发团队是由京东的凹凸实验室研发的,至于为什么叫Taro,团队负责人说:他们以怪兽的名字起的,因为他们是凹凸(奥特曼)实验室,而第一个奥特曼是泰罗,所以他们给实验室研发的第一个技术框架起名Taro。ps:那后面会不会有赛文、艾斯、迪迦?80、90集体回忆啊
目前最新的Taro版本已经升级到1.3,版本更新也很快。也有着很好的生态圈,社区现在也很活跃。组件方面,也开发Taro UI组件,生态还是很完善的。Taro的安装和使用我会在其他文章说明
不得不说,接手别人写一半的项目是真的很难受,尤其是这种没用过的技术。前几天什么都不会,看着项目结构都有点懵逼,还好旁边老哥肯教,有什么不会的直接就告诉你。现在马马虎虎会写点东西了,也谈不上熟练。刚开始公司看中这个框架,是看中它的一个多端统一开发功能。也就是说,用它编写一套代码,可以在多个平台运行。Taro可以支持微信小程序、H5、百度小程序、支付宝小程序、快应用、ReactNative、字节跳动小程序、QQ 轻应用。老板觉得,我写一套代码可以编译生成多端,那以后维护只用维护一套代码就好了,所以就选择这个框架。
选择它还有个原因,它支持小程序和Taro的双向转换。公司产品之前是只有小程序的,后来应为业务上的需要,要开发公众号,整个产品也要添加新功能模块。在我接手项目的时候,后端老哥已经吧小程序的大部分功能都写完了,留了一堆页面样式让我调整。刚开始我也觉得这个框架很不错,后期维护只用维护一套就行。可当我开发公众号的时候,问题就来了。
Taro可以支持编译多端,但是对每个的API支持程度不一样。个人觉得它对小程序的API支持是最好的,相对其他的API支持就不是很好。不过它有环境判断机制,判断当前环境是小程序还是h5。所以当API支持不是很好的时候,你就得重新想办法。
印象最深的是在写公众号的时候,需要调用微信的JSSDK。小程序内部有API可以调用,但是其它环境下就得调用第三方的SDK。这无疑给编写难度增加了。你一套逻辑,在小程序是完美执行,可还要兼容到其他端。而且没个端的业务实现逻辑也不一样,在编写的时候很伤脑袋。
还有一点我碰到的,每个端编译生成的DOM结构不一样。我用的是官方的Taro UI库,在编译完后部分组件的DOM结构不一样。以至于在样式调整的时候,不知道如何下手。
总的来说,Taro多端编译是现在新崛起的一种技术。只不过是出现时间短,还有很多问题需要他们解决。而京东开发团队也在积极的维护,不断的升级更新版本,努力的兼容各个终端,让开发变得更容易。
更多文章访问个人博客:http://www.lfanliu.top