又一款小程序开发利器——Taro(taroui开发小程序)

说起我们的前端跨平台开发,那不得不提起 uni-app,其主要的特点是一套代码编到8个平台,这不是梦想,是眼见为实,也是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。

但貌似还有没被众多的程序员接受,我曾经也写过一次,或许是没有熟练地掌握,写起来并不是那么的顺畅,坑太多,和后端对接起来很麻烦,不得不改用其它方法框架。

又一款小程序开发利器——Taro(taroui开发小程序)

uni-app VS Taro

我们再来看看京东开发的Taro——一套遵循React语法规范的多端统一开发框架。

What's Taro?

Taro 是由京东 – 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架

Taro 一直也保持着高速的迭代更新,如今发布了 Taro 2.0,从cli开始入手改造,将维护困难,CLI的代码复杂,分支多,可扩展性偏低等等问题逐一进行了解决,这才诞生的Taro 2.0。

Taro 2.0的CLI将会变得非常轻量,只做编译平台,处理不同平台编译入参等操作,随后再调用对应平台的 runner 编译器 做代码编译操作,而原来大量的 AST 语法操作将会改造成 Webpack Plugin 以及 Loader,交给 Webpack 来处理。

那么它也是一次编写,多端运行

taro uni-app 都是一套代码多端运行,但taro存在着明显的优势,taro 对CLI更友好,处理精细复杂需求的时候更简单,更得心应手,有着更高的开发效率和良好体验。

又一款小程序开发利器——Taro(taroui开发小程序)

多端支持

现如今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动/QQ小程序、快应用、H5、React-Native 等)运行的代码。

特性

React 语法风格

Taro 遵循 React 语法规范,它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用 Taro 进行开发可以获得和 React 一致的开发体验。

代码示例:

import Taro, { Component } from '@tarojs/taro'import { View, Button } from '@tarojs/components'export default class Index extends Component { constructor () { super(...arguments) this.state = { title: '首页', list: [1, 2, 3] } } componentWillMount () {} componentDidMount () {} componentWillUpdate (nextProps, nextState) {} componentDidUpdate (prevProps, prevState) {} shouldComponentUpdate (nextProps, nextState) { return true } add = (e) => { // dosth } render () { return ( <View className='index'> <View className='title'>{this.state.title}</View> <View className='content'> {this.state.list.map(item => { return ( <View className='item'>{item}</View> ) })} <Button className='add' onClick={this.add}>添加</Button> </View> </View> ) }}

由于微信小程序端的限制,有极少数 JSX 的优秀用法暂时不能得到很好地支持,同时,为了遵循 React 语法,Taro 在写法上也有一些自己的规范,具体可以参考:Taro 开发最佳实践 。官网地址:https://taro.aotu.io/

快速开发微信小程序

Taro 立足于微信小程序开发,众所周知小程序的开发体验并不是非常友好,比如小程序中无法使用 npm 来进行第三方库的管理,无法使用一些比较新的 ES 规范等等,针对小程序端的开发弊端,Taro 具有以下的优秀特性。

  • 支持使用 npm/yarn 安装管理第三方依赖
  • 支持使用 ES7/ES8 甚至更新的 ES 规范,一切都可自行配置
  • 支持使用 CSS 预编译器,例如 Sass 等
  • 支持使用 Redux 进行状态管理
  • 支持使用 MobX 进行状态管理
  • 小程序 API 优化,异步 API Promise 化等等

支持多端开发转化

Taro 方案的初心就是为了打造一个多端开发的解决方案。目前 Taro 代码可以支持转换到 微信/百度/支付宝/字节跳动/QQ小程序快应用H5 端 以及 移动端(React Native)

又一款小程序开发利器——Taro(taroui开发小程序)

多端

微信小程序转 Taro

Taro 可以将你的原生微信小程序应用转换为 Taro 代码,进而你可以通过 taro build 的命令将 Taro 代码转换为对应平台的代码,或者对转换后的 Taro 代码用 React 的方式进行二次开发。

微信原生小程序转 Taro 的操作非常简单,首先必须安装使用 npm i -g @tarojs/cli 安装 Taro 命令行工具,其次在命令行中定位到小程序项目的根目录,根目录中运行:

$ taro convert

即可完成转换。转换后的代码保存在根目录下的 taroConvert 文件夹下。你需要定位到 taroConvert 目录执行 npm install 命令之后就可以使用 taro build 命令编译到对应平台的代码。

此外

此外还给大家推荐一款基于·Taro框架开发的多端UI组件库

Taro UI

Taro UI 特性:

  • 基于 Taro 开发 UI 组件
  • 一套组件可以在 微信小程序,支付宝小程序,百度小程序,H5 多端适配运行(ReactNative 端暂不支持)
  • 提供友好的 API,可灵活的使用组件

迁移至Taro 2.0特性

官方文档表示并不难,也给出详细的迁移文档,例如:

1、更新 Taro CLI 和依赖版本

你可以根据自己的实际情况选择升级全局的 Taro 版本或者仅为你的某一个项目升级。

2、全局 CLI 升级

如果你的 Taro CLI 以全局方式安装,并且你希望升级到 Taro 2.0 需要执行以下命令:

# 使用 Taro 自己$ taro update self 2.0.0# 如果你使用 MPM$ npm update -g @tarojs/cli@2.0.0# 如果你使用 Yarn$ yarn global upgrade @tarojs/cli@2.0.0

之后在你的项目目录里运行以下命令来升级依赖:

$ taro update project 2.0.0

3、单独为某一个项目升级

这样做的好处是全局的 Taro 版本还是 1.x 的,多个项目间的依赖不冲突,其余项目依然可以用旧版本开发。 如果你的项目里没有安装 Taro CLI,你需要先装一个:

# 如果你使用 NPM$ npm install --save-dev @tarojs/cli@2.0.0# 如果你使用 Yarn$ yarn add -D @tarojs/cli@2.0.0

然后在你的项目目录里运行以下命令来升级依赖:

# 如果你使用 NPM$ node ./node_modules/.bin/taro update project 2.0.0# 如果你使用 Yarn$ yarn taro update project 2.0.0

4、安装 @tarojs/mini-runner 依赖

Taro 2.0 新增了 @tarojs/mini-runner 作为小程序的编译依赖,所以你需要将它安装在你的项目里,运行:

# 如果你使用 NPM$ npm install --save-dev @tarojs/mini-runner@2.0.0# 如果你使用 Yarn$ yarn add -D @tarojs/mini-runner@2.0.0

。。。

还有很多迁移至 Taro 2.0方案,大家可以到官方API查看。

小结

Taro作为另一个多端统一开发解决方案,固然比uni-app优秀,到目前,还在一直发展优化,Taro团队也在一直努力大规模的扩展优化中,使用者必然会日益递增,希望Taro可以走得更远,发展更好,让越来越多的程序员受益。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月4日 上午8:18
下一篇 2023年4月4日 上午8:28

相关推荐

  • 云南校企共建专业生均支出

    云南校企共建专业生均支出 云南校企共建专业生均支出是指云南高校和企业合作,共同培养人才的一种方式。这种方式旨在提高云南高校的专业水平和企业的技能水平,促进云南经济和社会的发展。 云…

    科研百科 2024年10月4日
    21
  • 开票软件v30怎么下载

    开票软件v30怎么下载 如何下载开票软件v30? 开票软件v30是用于商业和个人财务的高质量软件,具有广泛的功能和易于使用的界面。如果您需要下载开票软件v30,请按照以下步骤进行操…

    科研百科 2024年10月31日
    0
  • 青海:为加快推进农牧区现代化建设贡献更多农信力量

      中国农村信用社已经发展了66年的历程,农信社因农而生,为农而倔强地生长,根深叶茂,已经发展成为支持地方经济建设的一支重要金融力量。党的十九大以来,青海农信系统不忘初心、牢记使命…

    科研百科 2022年5月13日
    338
  • 企业项目管理知识培训PPT模板,完整内容设计,专业课件直接F5(项目管理培训ppt免费)

    Hello大家好,我是帮帮。今天跟大家分享一张企业培训项目管理知识培训PPT模板,完整内容设计,专业课件直接F5。 有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章…

    科研百科 2022年10月17日
    284
  • 「商机」保鲜冷链:全流程智慧管理(冷链保鲜产品)

    保鲜冷链:全流程智慧管理 农产品仓储保鲜冷链物流设施是农业生产中重要的一环,通过大力建设田间冷库等设施,不仅解决了农产品保鲜期短、损耗大、品质下降等问题,还扩大了农产品的供应范围,…

    科研百科 2022年12月2日
    440
  • 设计阶段项目管理包括哪些内容

    设计阶段项目管理包括哪些内容 在项目管理中,设计阶段是一个非常重要的阶段,因为它是整个项目生命周期中最具挑战性的阶段之一。在这一阶段,项目团队将开始制定、设计、测试和部署项目产品或…

    科研百科 2024年11月10日
    0
  • 项目管理PMP工具方法汇总,建议收藏(软件项目管理工具)

    很多人感叹项目管理工作复杂且严苛,问题来了,做完一个项目,到底需要用多少种工具和方法?项目大牛历时3周总结出的49个流程所要用到的所有工具和方法,估算一下,也就两三百个吧! 更多关…

    2022年7月29日
    289
  • 医学影像专业科研项目名称

    医学影像专业科研项目名称: 探究X射线在皮肤癌诊断和治疗中的应用 近年来,皮肤癌的发病率在全球范围内呈现出逐年上升的趋势,给人类健康带来了极大的威胁。传统的皮肤癌诊断和治疗方法存在…

    科研百科 2024年4月8日
    67
  • 社区合同管理制度

    社区合同管理制度 社区合同管理制度是社区管理中的重要组成部分,旨在加强社区内的管理,提高社区的服务水平,促进社区的和谐发展。本文将介绍社区合同管理制度的基本概念、制定和实施过程以及…

    科研百科 2024年8月30日
    42
  • 建设工程监理合同管理法规(建设工程监理合同管理)

    建设工程监理合同管理 随着建筑行业的快速发展,建设工程监理作为保障工程质量的重要措施,越来越受到重视。建设工程监理合同管理是监理工作的核心内容之一,其重要性不言而喻。本文将从建设工…

    科研百科 2024年6月6日
    126