taro框架微信小程序端应用实践
1.Taro框架
keywords:跨端;跨框架 ;支持redux
跨框架:前端框架 React/Vue都支持, 还额外支持Nerv(Nerv 和Taro都来自于凹凸实验室,Nerv是高性能类 React 框架);所以没有学过小程序开发框架(包括但不限于微信)的同学,借助Taro,可以零学习成本快速开发小程序项目。
跨端:Taro 需要运行不同的命令,将 Taro 代码编译成不同端的代码(原生手机app,H5,微信/百度/支付宝/字节跳动/京东/小程序/QQ小程序)下图来自 https://taro-docs.jd.com/taro/docs/GETTING-STARTED
大部分前端开发同学,可能不清楚,为什么有RN(IOS)与RN(Android)这两种端?那是因为,现在前端市场很少有开发原生App的需求,或者要在原生App中嵌入单独的一个H5功能页面以至于要实现hybrid app的需求。2014年左右Facebook的react-native 框架很火,那个时候,市场上大部分的app都是用原生Android和Ios语言构建的移动端应用,但由于原生移动端应用开发与发布成本高(现在前端都享用mvvm这种数据驱动的框架的便利,很少人能理解android原生开发那个时候mvp模式的痛;加上现在开发应用都部署在云平台,绕过了安卓/苹果市场,产品迭代更新的响应速度可以很快,整个软件开发的流程非常的smooth)。
所以,Taro实际上真正的实现了跨所有端。
我的项目情况是要开发微信小程序,我很清楚自己不想花任何时间在微信小程序框架的学习上;又由于我最近一年的技术栈的react,切换会原来vue基本上忘的差不多了,而且还要学习3.0新语法,用vue写项目必然项目磕磕巴巴;综合这两个原因,我明白我要选择的是支持react的微信小程序开发框架。至于是什么导致我最终选择Taro了呢?我看到了支持redux的时候我就爱上了它❤️。第二部分是关于微信小程序开发框架的技术选型。
2.微信小程序开发技术选型
假如你跟我一样,只要想开发微信小程序项目,Taro可能并不也是你的最优选择。更详细一步的讲,假如你的项目一定要/可能会用到状态管理,并且你只熟悉是vuex,又不想学习redux,那我觉得mpvue应该是你的首选。参考来自https://www.jianshu.com/p/dfb8c00d1057。我从这篇技术选型的文章中简单摘出来了各种框架发展史和技术选型对比图供你快速预览。
文章原话:对于小程序开发者来说,小程序的开发生态不断地在完善,从最开始的原生框架,到腾讯自己开发类vue规范的wepy,再到美团开发近vue写法的mpvue,再到最近O2实验室刚推出的遵循React规范的Taro。
技术选型原图:
对。其实技术选型无非就要考虑:
(1)自己有没有技术积累?
你是不是受限于一种前端开发语言?你只会用vue,还是react? 状态管理组件只会vuex,还是redux?
不过应该大部分的技术栈是vue+vuex/react+redux就已经满足职位的要求了。假如你对他们都很熟悉,你其实会在其他方面关注更多,比如说你会选择尽量丰富灵活的ui组件来支撑你的项目。
(2)学习能力与项目周期怎么样?
为什么这个是很非常重要的因素呢?
如果公司对你比较仁慈,是抱着培养你的心态来给你项目做的,你大可以勇敢的选择你不熟悉的框架进行实践。前端最重要的就是技术积累与沉淀,业界常见的几种框架,多了解将会加深你对前端行业的了解。
如果你也是个打工仔,那肯定是要讲究你能不能按时的完成项目。到底是kpi比较重要,自我能力提升只能靠私下挤时间了。
(3)核心功能要先考虑
还是要多看适合自己项目情况的技术选型方面的文章,避免在重大功能上,遇到坑!
顺便说一下,taro支持echart
(4)UI框架
选择尽量丰富灵活的ui组件来支撑你的项目。 怎么判断?最简单的方法,一个个点开组件看,跟自己的UI 相似度怎样?
尽量选择社区活跃度比较高的前端组件框架。
3.本地开发与调试
在vscode中coding和编译;用微信开发者工具打开dist文件夹预览。具体参考 https://taro-docs.jd.com/taro/docs/GETTING-STARTED
4.讲讲taro-ui
组件不够丰富,灵活性还是比较很差。物料市场很难找到跟自己相似的业务组件。
我会不断开源一些基于tarojs/components组件构造的轻业务组件。
本文地址:https://blog.csdn.net/SandyoneU1993/article/details/110222367