Taro 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Taro 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Taro 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织 京东
地区 国产
投 递 者 yuche
适用人群 未知
收录时间 2018-06-11

软件简介

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

Taro['tɑ:roʊ],泰罗·奥特曼,宇宙警备队总教官,实力最强的奥特曼。

Taro 是什么?

Taro 是由京东 - 凹凸实验室打造的一套开放式跨端跨框架解决方案

Taro 支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5 等应用。

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

Taro 特性

框架支持

React/Nerv 支持

在 Taro 3 中可以使用完整的 React/Nerv 开发体验,具体请参考基础教程——React

代码示例

import React, { Component } from 'react'
import { View, Text } from '@tarojs/components'

export default class Index extends Component {
  state = {
    msg: 'Hello World!'
  }
  componentWillUnmount () { }

  componentDidShow () { }

  componentDidHide () { }

  render () {
    return (
      <View className='index'>
        <Text>{this.state.msg}</Text>
      </View>
    )
  }
}

Vue 支持

在 Taro 3 中可以使用完整的 Vue 开发体验,具体请参考基础教程——Vue

代码示例

<template>
  <view class="index">
    <text>{{msg}}</text>
  </view>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello World!'
    }
  },
  created () {},
  onShow () {},
  onHide () {}
}
</script>

多端转换支持

Taro 方案的初心就是为了打造一个多端开发的解决方案。

目前 Taro 3 可以支持转换到 微信/京东/百度/支付宝/字节跳动/QQ 小程序 以及 H5 端

学习资源

5 分钟上手 Taro 开发

awesome-taro

掘金小册:Taro 多端开发实现原理与实战

社区共享

Taro 交流社区——让每一次交流都被沉淀

Taro 物料市场——让每一个轮子产生价值

使用案例

Taro 已经投入了我们的生产环境中使用,业界也在广泛地使用 Taro 开发多端应用。

征集更多优秀案例

加入共建

加入 Taro 社区共建倡议

Taro 邀你加入社区共建

为 Taro 贡献代码

Taro 非常欢迎社区开发者为 Taro 贡献代码,在贡献之前请先阅读贡献指南

如果你想为 Taro 实现一个重要功能,需要先撰写 RFC 文档,按照 Taro 的RFC 机制进行操作,在经过社区讨论完善后才可以进行代码的提交。

问题反馈与建议

给 Taro 提 ISSUE

强烈推荐阅读 《提问的智慧》《如何向开源社区提问题》 和 《如何有效地报告 Bug》《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。

特别鸣谢

nanjingboy jsNewbee
nanjingboy jsNewbee Qiyu8 Garfield Lee

贡献者们

开发计划

Milestones

更新日志

本项目遵从 Angular Style Commit Message Conventions,更新日志请查阅 Release

开发交流

官方交流微信群

License

MIT License

Copyright (c) O2Team

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

官网:http://taro.jd.com

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(27) 发布并加入讨论🔥
发表了资讯
昨天 10:36

Taro 4.0.8 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 4.0.8 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 特性 小程序 适配skyline组件及API(非worklet部分) 适配skyline worklet 修复 h5 修复swiper在item只有两个时onChange触发异常问题 #16770 解决部分es6未转es5导致的低版安卓下白屏问题 修复IOS端H5-选中视频-不触发成功/失败回调 #16943 小程序 setData执行...

0
0
发表了资讯
10/28 14:01

Taro 4.0.7 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 4.0.7 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 特性 小程序 半编译预处理功能 #16598 添加 useXsForTemplate 试用性字段、去除模版中多余的 block标签、增加clickview模版以减少冗余事件绑定、优先使用微任务执行setData 补全京东小程序组件和类型:Editor、PageContainer、RootPortal、MatchMedia、Ric...

1
0
发表了资讯
09/24 13:54

Taro 4.0.6 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 4.0.6 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 H5 修复了在 ScrollView 中嵌套 Swiper 时,Swiper 滑动无响应的问题 鸿蒙 Hybrid 替换了 chooseImage 和 chooseVideo 的实现 Typings 修正了 Taro.previewImage 方法中 current 字段的类型注释 将 textProps 移动到 PickerStandardProps 中,以便获得更准确...

2
0
发表了资讯
08/27 10:21

Taro 4.0.5 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 4.0.5 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 H5 / 小程序 / 鸿蒙 Hybrid 修复了 imageUrlLoaderOption 属性不生效的问题 H5 Swiper 组件升级到 11.1.0 版本 Picker 组件更新了 region 的类型声明 小程序 新增了京东小程序的 Editor、PageContainer、RootPortal 等组件与属性的支持 修复了 Solid JSX 类...

0
1
发表了资讯
08/26 13:52

Taro 3.6.35 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.35 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: H5 / 小程序 使用 forwardRef 包装 React 组件库 H5 修复了 Video 组件 mute={true} 时静音按钮状态显示为非静音的问题,fix #15877 小程序 新增了京东小程序的 Editor、PageContainer、RootPortal 等组件与属性的支持 鸿蒙 Hybr...

0
0
发表了资讯
07/26 13:49

Taro 4.0.3 发布,包含 4.x 以来所有改动

Taro 4.0.3 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本为第一个 Tag 为 latest 的 4.x 版本,所以此发布记录包括了 4.x 以来所有的改动: 鸿蒙端平台支持 —— Web To Harmony 小程序性能优化 —— CompileMode React Native 适配升级 —— 支持 0.73 版本 新的编译系统支持 —— Vite 基建更新改造 —— ...

0
1
发表了资讯
07/16 10:20

Taro 3.6.34 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.34 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 修复了 newBlended 模式下的公共样式文件后缀名错误的问题 修复了百度小程序不支持模版传递函数参数的问题 修复了支付宝小程序在未开启 component2 时的生命周期错误问题 修复了支付宝小程序的 dataset 在冒泡事件中丢失的...

0
0
发表了资讯
07/09 14:35

Taro 3.6.33 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.33 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 修复了因 URL SearchParams 参数不规范而导致的页面渲染白屏问题 fix #15717 鸿蒙 Hybrid 新增了 previewImage 以桥接原生代码 修复了导航栏配置无效和 getLaunchOptionsSync 无返回值的问题 修复了 IntersectionObserver...

0
1
发表了资讯
06/17 10:35

Taro 3.6.32 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.32 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: H5 优化了路由动画,默认关闭 :has() 选择器,可通过配置 config 参数开启 鸿蒙 Hybrid 优化了 request 方法以兼容 ArrayBuffer 数据类型 优化了 chooseMedia 方法以适应两种不同的实现方式 优化了 createIntersectionObserver 实...

0
0
发表了资讯
06/04 14:12

Taro 3.6.31 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.31 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: H5 新增了 H5 版本的 Map 组件 修复了 CSS 中单行注释的语法问题 修复了在弱网络情况下,频繁切换页面导致页面实例错乱和多个相同页面挂载的问题 React Native 修复了 React Native 组件打包异常的问题 修复了 Windows 环境下运行...

0
2
发表了资讯
05/20 13:46

Taro 3.6.30 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.30 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: H5 取消路由跳转之前的校验,给 customRouters 更大灵活度 鸿蒙 Hybrid 新增了 Map 同层渲染以及相应的 MapContext 类,新增了 openLocation、choooseLocation 桥接,优化了定位接口等 优化了 API 的继承方式,从匿名继承转为显式...

0
1
发表了资讯
05/11 13:39

Taro 3.6.29 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.29 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 新增了对微信小程序 Skyline 组件的适配(不包括手势相关组件) 修复了因容器事件重复触发导致的生命周期执行顺序异常的问题 修复了字节跳动小程序上传命令报错的问题 H5 兼容了 webpack v5.90+ 新增的 EnvironmentNotSu...

1
0
发表了资讯
04/27 13:10

Taro 3.6.28 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.28 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 为京东小程序的 Textarea 组件增加了 disable-default-padding 属性 增加了 modifyAppConfig 钩子,以支持抖音小程序引用系统内置页面,fix #15388 修复了编译模式没有正确处理动态 id 属性的问题 鸿蒙 Hybrid 移除了 ha...

0
0
发表了资讯
04/19 14:12

Taro 3.6.27 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.27 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 修复了 Standard Lint 规则失效的问题 鸿蒙 Hybrid 增加了对 requirePlugin 方法的支持 增加了对 switchTab、navigateTo 等路由函数可以被 hook 的支持 优化了 getUpdateManager 接口改为桥接实现 修正了部分接口的注释,...

0
1
发表了资讯
04/12 13:44

Taro 3.6.26 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.26 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 小程序 修复了在使用自定义编译器编译时,未安装 @tarojs/plugin-framework-react 依赖会导致报错的问题,fix #15470 修复了在默认模板 Vue3 搭配 pnpm8 低版本使用时出现报错的问题,fix #13554 修复了在编译时出现的 TSC 错误以...

0
2
发表了资讯
03/18 13:58

Taro 3.6.25 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.25 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 特性 小程序 支持使用 WXS / JDS 脚本语言 编译模式支持了 JSXElementChild 嵌套使用 && 表达式 H5 新增了 hideNavigationBarLoading 和 showNavigationBarLoading 等 API 补充完善了 navigateTo 相关的参数,与小程序端一致 补充...

2
2
发表了资讯
03/01 13:53

Taro 3.6.24 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.24 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 特性 H5 Swiper 组件新增 currentItemId 参数支持 Video 组件新增全屏事件抛出 Stencil 组件库支持 hydrate 模式导出,用于服务端等场景生成 stencil 组件内部 DOM 结构。 其它 新增自定义编译 rust binding 配置 新增 linux-x6...

1
2
发表了资讯
01/21 10:07

Taro 3.6.23 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.23 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 特性 新增了 H5/RN 的表单组件支持使用 defaultValue 属性来设置初始值 更新了 CI,降低 Ubuntu 版本到 20.04 小程序 新增了抖音小程序对 awesome-user-card 的支持,用于关注抖音号 提升了 CompileMode 的小程序兼容性:支持支付...

0
2
发表了资讯
2023/12/30 10:25

Taro 3.6.22 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.22 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 特性 小程序 新增了小程序编译模式(CompileMode)功能,支持手动对组件进行优化,以提升渲染性能 新增了 webpack 不同级别编译错误的处理方式 H5 新增了对 navigationStyle 配置的处理逻辑 移除了 mobile-detect 依赖,改为直接...

0
1
发表了资讯
2023/12/20 10:48

Taro 3.6.21 发布,BAT 小程序、H5 与 RN 端统一框架

Taro 3.6.21 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本具体更新内容如下: 修复 小程序 修复了小程序 Input 组件在使用 async onInput 回调时导致输入框闪烁的问题 修复了 Webpack5 React 使用小程序自定义组件时,传递 kebab-case 属性失败的问题 修复了独立分包组件没有经过子编译器处理导致的报错问题...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
27 评论
3.5K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部