关于前端:Taro调研

背景

领导大腿一拍,要从企业微信迁到飞书,曾经上线或者开发中的利用,须要进行迁徙工作量的评估。
为了预防哪一天,领导再次大腿一拍,想迁徙到钉钉,于是想到了Taro。

Taro介绍

开放式跨端跨框架解决方案,反对应用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等利用。

总而言之,就是一套代码,能够编译成多个平台的小程序代码。

而且反对本人拓展其余平台的编译插件。

比照

与Vue比拟

采纳vue进行开发时,大部分写法都是统一的,只有多数写法,Taro做了扭转。

  1. 比方template里的元素,采纳的是小程序的元素名称
    div ---> view
  2. 元素的事件绑定
    @click/v-on:click ---> @tap/v-on:tap
  3. 不反对<style scoped>
    <style scoped> ---> cssModules
  4. 生命周期
Taro 阐明
onReady 小程序
onLoad 小程序
created Vue、小程序
mounted Vue
beforeUpdate Vue
updated Vue
beforeUnmount Vue
unmounted Vue、小程序(onUnload)
onShow 小程序
onHide 小程序

与微信小程序的比拟

  1. 我的项目配置
    我的项目配置依据平台不同配置不同的project.XX.json文件
  2. 尺寸
    在 Taro 中尺寸单位倡议应用 px百分比 %,Taro 默认会对所有单位进行转换。在 Taro 中书写尺寸依照 1:1 的关系来进行书写,即从设计稿上量的长度 100px,那么尺寸书写就是 100px,当转成微信小程序的时候,尺寸将默认转换为 100rpx,当转成 H5 时将默认转换为以 rem 为单位的值
  3. API
    基本一致,只是wx.XXX变成Taro.XXX

开发模式

  1. 创立
    Taro提供相应的@tarojs/cli用于创立Taro我的项目
  2. 运行
    Taro我的项目在package.json配置好相应平台的执行命令,通过npm命令,编译成不同端的代码

    "scripts": {
    "build:weapp": "taro build --type weapp",
    "build:swan": "taro build --type swan",
    "build:alipay": "taro build --type alipay",
    "build:tt": "taro build --type tt",     // 字节小程序
    "build:h5": "taro build --type h5",     // H5
    "build:rn": "taro build --type rn",     // react native
    "build:qq": "taro build --type qq",     // QQ小程序
    "build:jd": "taro build --type jd",     // 京东小程序
    "build:quickapp": "taro build --type quickapp",
    "dev:weapp": "npm run build:weapp -- --watch",
    "dev:swan": "npm run build:swan -- --watch",
    "dev:alipay": "npm run build:alipay -- --watch",
    "dev:tt": "npm run build:tt -- --watch", 
    "dev:h5": "npm run build:h5 -- --watch",
    "dev:rn": "npm run build:rn -- --watch",
    "dev:qq": "npm run build:qq -- --watch",
    "dev:jd": "npm run build:jd -- --watch",
    "dev:quickapp": "npm run build:quickapp -- --watch"
    },
  3. 查看、调试
    应用相应平台的开发工具,查看成果和调试

不过遗憾的是,Taro不反对飞书小程序,折中的计划是采纳编译成字节小程序。毕竟飞书字节一家亲嘛,API也查不到哪里去。然而当初大型APP那么多,各家都创始了一套属于本人的小程序,如果每家都反对,Taro须要投入的,真的很可观。

扩大

于是乎,Taro引入插件的理念,自 v3.1.0 起,将每个小程序平台的兼容逻辑抽取进去,以插件模式注入Taro框架,用户也能够本人扩大相应的平台。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理