1.1 Taro介绍
1.1.1 简介
Taro是一套遵循React语法规范的多端开发解决方案,甚至在Taro 3.0及以上版本可以选用Vue、React或Nerv作为开发规范。Taro遵循React语法,但和React并没有直接关系。Taro底层使用了京东团队开发的Nerv框架,该框架语法接近React。
面对微信小程序、京东小程序、百度小程序、支付宝小程序、字节跳动小程序、快应用、H5、React Native开发,我们深感疲惫,假如只编写一套代码就能适配这里列举的各种端,岂不快哉?不妨,先想象一下write once, run anywhere,是多么令人神往。
1.1.2 特性
1.类似React的语法风格
Taro遵循React语法规范,它采用与React一致的组件化思想、组件生命周期、JSX语法等,如此,将开发学习的成本降到最低。只要你使用过React,就可以使用Taro来快速开发多端应用,从而降低学习成本,提升开发体验。Taro基本用法的代码示例如下:
上面这段代码展示了Taro构建多端应用的基本写法,其中包括页面元素、页面数据、组件生命周期。遗憾的是,因为早期Taro架构限制,无法完全支持React所有的JSX语法。为了解决这一问题,Taro制定了对应的语法规范,关于规范约定的详细内容请参阅1.4节的内容。
2.快速开发小程序
Taro立足于微信小程序开发。众所周知,微信小程序的开发体验不太友好,如经常会被提及的这些问题:
· 小程序中无法使用npm来做第三方库的管理。
· 无法使用新的ES规范。
针对这些问题,Taro改良并提供了以下优秀特性:
· 支持使用npm/yarn安装管理第三方依赖。
· 支持使用ES7/ES8甚至更新的ES规范,一切都可以自行进行配置。
· 支持使用CSS预编译器,如Sass、Less等。
· 支持使用Redux、MobX等进行状态管理。
· 小程序API优化,异步API Promise化等。
3.支持多端开发转化
Taro方案是在实践中总结出的快速打造多端开发应用的解决方案。目前通过Taro编写的代码能够编译为可以运行在微信/京东/百度/支付宝/字节跳动/QQ小程序的快应用、H5及原生应用(React Native)。
1.1.3 Taro UI
Taro解决了跨端开发规范的问题,但依然存在其他问题,如界面一致性。经过社区不断完善,催生出了Taro UI——提供多端界面风格统一方案。其主要特性如下:
· 基于Taro开发的UI组件。
· 一套组件可以在微信/支付宝/百度小程序、H5多端适配运行(React Native端暂不支持)。
· 提供优化的API,可灵活地使用组件。
1.1.4 其他
学习是一个枯燥的过程,在学习Taro的过程中,无论你有任何问题或者建议,都可以访问Taro官网查找资料或者提出相关建议。如果你经常使用GitHub,也可搜索awesome-taro查看更多学习资源。