👽 Taro['tɑ:roʊ],泰罗·奥特曼,宇宙警备队总教官,实力最强的奥特曼。
开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要
Taro 1/2 迁移至 Taro 3,请阅读《Taro 版本升级权威指南》
掘金小册:Taro 多端开发实现原理与实战
名称 | 地址 | 介绍 | 支持的框架 | 支持的 Taro 版本 |
---|---|---|---|---|
taro-ui | https://taro-ui.jd.com/#/ | 一套基于 Taro 框架开发的多端 UI 组件库 | React | Taro 1/2/3 (Taro 3 需要安装 alpha 版本) |
NutUI | https://nutui.jd.com/#/ | 京东风格的轻量级移动端 Vue 组件库 | Vue3 | Taro 3 |
taroify | https://taroify.gitee.io/taroify.com/introduce/ | 轻量、可靠的小程序端 Taro 组件库(Vant 的 Taro 版本) | React | Taro 3 |
@antmjs/vantui | https://antmjs.github.io/vantui/#/home | 基于有赞 VantWeapp 开发的同时支持 Taro 和 React 的 UI 库 | React | Taro 3 |
Taro 已经投入了我们的生产环境中使用,业界也在广泛地使用 Taro 开发多端应用。
在 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>
)
}
}
在 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/React Native
等端。
Taro 非常欢迎社区开发者为 Taro 贡献代码,在贡献之前请先阅读贡献指南。
如果你想为 Taro 实现一个重要功能,需要先撰写 RFC 文档,按照 Taro 的RFC 机制进行操作,在经过社区讨论完善后才可以进行代码的提交。
强烈推荐阅读 《提问的智慧》、《如何向开源社区提问题》 和 《如何有效地报告 Bug》、《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。
nanjingboy | jsNewbee | Qiyu8 | Garfield Lee |
本项目遵从 Angular Style Commit Message Conventions,更新日志请查阅 Release。
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.