前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Taro及Taro-UI从入门到放弃

Taro及Taro-UI从入门到放弃

作者头像
terrence386
发布2022-07-15 09:50:34
2.1K0
发布2022-07-15 09:50:34
举报

这里记录工作中遇到的技术点,以及自己对生活的一些思考,周三或周五发布。

封面图

Taro及Taro-Ui

Taro是京东旗下的跨端开发框架,功能非常强大,支持React/Vue/Nerv进行小程序,H5,甚至是RN应用。

并且以Taro命名,足见其野心不小。从这一方面看,你也许会想跃跃欲试,想着尽快将其用户生产环境的开发中去。

Taro-UI是基于Taro框架开发的多端UI组件,支持小程序及H5端,但是不能适配ReactNative。

近一年的开发都在使用这个两个框架,从我个人的使用体验来讲,我觉得如果以后再有开发小程序或者H5的业务时候,我会果断放弃这个框架,因为它的坑实在是不少,尤其是开发企业微信的时候。

Taro及Taro-Ui入坑到弃坑

个人最早使用Taro是在2019年,当时有个非常简单的小程序,也就三四个界面,刚好那一段时间在看Taro,那时候用的版本是1.0,整体的感觉也还好,React语法、类似小程序原生的UI组件,很快就完成了工作。

之后的工作就跟Taro基本没什么关系了。但是今年伊始,因为项目中需要进行多端开发,所以一直在用Taro及Taro-UI进行开发,涉及两个项目,一个是项目需要同时打包成小程序及H5,另外一个项目是企业微信内应用开发

同时打包成小程序及H5这个项目我们暂且管它叫客户端开发。客户端的开发体验总体上感觉还可以,没有那么多的坑需要去踩,因为有些问题是我们可以提前想到的。比如:

  • 运行环境判断
  • 登录流行控制
  • 系统权限API的异同
  • 项目发布流程
  • 调试方式

等等,因为在客户端开发的时候同时对这些问题做了处理,所以倒也没遇到什么比较难以解决的问题。甚至觉得自己已经对这套框架相当有信心了,直到切换到了企业微信的开发上,才发现,还是太天真了,各种问题让人头大。

企业微信应用的开发流程跟微信公众号开发的流程一致。但是企业微信的开发体验简直是糟糕透了。

这种糟糕的情况体现在两个方面:

一是项目发布流程。每改动一个地方,就需要发布一次测试或者预发环境进行验证,如果从打包到项目发布成功所消耗的时间非常短,一分钟或者两分钟,也还能接受。可惜的是,我们的CI流程,每发布一次耗时都在5分钟以上,而且极其不稳定。有可能上一秒还在发布项目,突然你的应用就全部离线了。修复这个离线的过程有可能需要半天甚至一天时间。

二是Taro-UI对企业微信的PC端应用和移动端应用内置的浏览器存在严重的兼容性问题。因为PC端的企业微信内置的浏览器类似我们PC的谷歌内核。而移动端的企业微信内置的浏览内核应该是微信的X5内核。所以同样一个输入框,在企业微信应用中,PC上和手机上表现的完全不一致。一个输入框,本地用PC浏览器调试,H5模式完全正常,但是一旦切换回正常的网页模式,完全就废了。

涉及的组件主要是:

  • AtInput
  • AtInputNumber

并且,文档中标明的属性,也不一定真的有用。比如:

  • AtInput 的 maxLength属性。

从用Taro做客户端开发到用Taro做企业微信开发,个人的心态从信心满满变成了想马上弃坑。

是人性的扭曲?还是道德的沦丧?

对于Taro-UI组件,看了它的样式,相当于基于weui进行的二次封装,然后支持编译成小程序UI和H5,但是对于企业微信的兼容性,还是需要在进一步提升一下。

结论

所以最后的结论是,如果你的项目不涉及企业微信开发,那么你大可以使用Taro及Taro-UI,因为这些坑都是小坑。

但是假如开发的项目是企业微信应用,那最好还是选个别的什么UI框架吧,起码企业微信的PC端和手机端的UI能保持一致。

其实用Taro进行开发的大多还是JD内部的项目,并且大多项目跟企业微信关系不大。对于我来说Taro已经不香了。

基于Taro的多端(小程序+H5)开发实践

之前总结的:

基于Taro的多端(小程序+H5)开发实践:https://www.yuque.com/terrence-skafm/dgsa0u/uazr23

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaScript高级程序设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 封面图
  • Taro及Taro-Ui
  • Taro及Taro-Ui入坑到弃坑
  • 结论
  • 基于Taro的多端(小程序+H5)开发实践
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档