美文网首页让前端飞Web前端之路前端开发
小程序开发:用原生还是选框架

小程序开发:用原生还是选框架

作者: 不得不爱XIN | 来源:发表于2019-06-14 15:39 被阅读6次

原文链接:小程序开发:用原生还是选框架

小程序开发:用原生还是选框架

本文从面向用户、面向开发者两大维度七大细项,对微信原生及主流的wepy、mpvue、taro、uni-app开发框架进行横向对比。

面向用户、面向开发者维度,具体包括:
1. 用户:提供完整的业务实现,并保证高性能体验。
2. 开发者:平缓的学习曲线、现代开发体验(工程化)、高效的社区支持、活跃的开发迭代、多端复用。

1. 用户

1-1. 功能实现: 【出发点:小程序在不断的迭代升级,如果某项业务依赖于最新的小程序 API,但三方框架尚未封装,该怎么办?】

框架 描述
wepy 未对小程序 API 作二次封装,API 依然使用微信原生的,框架与微信小程序是否新增 API 无关
mpvue 支持微信的所有原生组件和 api,无限制。同时框架封装了自己的跨端 API,使用方式类似mpvue.request()
taro 支持微信的所有原生组件和 api,无限制。同时框架封装了自己的跨端 API,使用方式类似Taro.request(),支持 Taro 代码与小程序代码混写(链接),可通过混写的方式调用框架尚未封装的小程序新增 API
uni-app 支持微信的所有原生组件和 api,无限制。在跨端方面,即便仍然使用微信原生的组件和 API,也可以直接跨端编译到 App、H5、以及支付宝百度头条等小程序。但为了管理清晰,推荐使用 uni 封装的 API,类似uni.request()。同时支持条件编译(链接),可在条件编译代码块中,随意调用各个平台新增的 API 及组件

结论:三方框架均可调用所有小程序 API,完成用户的业务需求,这个维度各框架是无差别的。

1-2. 性能

长列表加载到渲染完成 组件通信到渲染完成

结论:微信原生开发手工优化,uni-app>微信原生开发未手工优化,taro > wepy > mpvue

2. 开发者

2-1. 平滑的学习曲线

框架 DSL支持程度描述 学习资料完整度
微信原生 四不像...要学习新语法 文档丰富,API 搜索准确,官方有示例 demo,支持官网上调起微信开发者工具,预览运行效果 ,详见:传送门
wepy 开发风格接近于 Vue.js,属于类 Vue实现,相对微信原生开发算前进了一大步,但相比完整Vue语法还有较大差距,开发时需要单独学习它的规则 文档只有 2 页,没有搜索,组件 API 等文档都直接看微信的文档。没有提供示例 demo,很多配置需要靠猜。详见:传送门
mpvue mpvue支持的 Vue 语法略少 文档较少,但其概念不复杂,组件 API 等文档都直接看微信的文档,学习难度低。问题搜索效果一般。没有提供示例 demo。详见:传送门
uni-app uni-app 则基本支持绝大多数 vue 语法,如filter、复杂 JavaScript 表达式等 基础文档和各种使用专题内容丰富,问题搜索效果较好,示例 demo 功能完备,并发布为 7 端上线。详见:传送门
taro 对于 JSX 的语法支持度,也达到了绝大多数都支持的完善程度 基础文档完整,具体使用问题资源较少,问题搜索效果一般,示例 demo 只包含基础功能,仅发布了微信一端。详见:传送门

备注:mpvue、uni-app 框架基于 Vue.js 核心,通过修改 Vue.js 的 runtime 和 compiler,实现了在小程序端的运行

结论
DSL 语法支持评测:taro,uni-app > mpvue > wepy > 微信原生
学习资料完善度评测:微信原生 > uni-app > mpvue , taro > wepy

2-2. 现代前端开发体验

通过cli的支持程度、开发工具和语法提示库等的对比

结论:开发体验维度,对比结果:uni-app > taro,mpvue > wepy > 微信原生
友情提示:如果你需要工程化能力,那就直接忘了微信原生开发吧

2-3. 社区支持

社区支持

2-4 多端复用

结论:uni-app > taro > mpvue > 原生微信小程序、wepy

ENDING

如果你只开发微信小程序,不做多端,那么使用uni-app、taro是更优的选择,他们相当于 web 世界的 vue 和 react,有了这些工具,不再需要使用原生 wxml 开发。

  • 如果坚持微信原生开发,需要注意手动写优化代码来控制setdata,并且注意其工程化能力非常弱。
  • 如果你是react系,那就用taro。
  • 如果是vue系,那就用uni-app,uni-app在性能、周边生态和开发效率上更有优势。
  • 如果你开发多端,uni-app和taro都可以,可根据自己熟悉的技术栈选择,相对而言uni-app的多端成熟度更高一些。

相关文章

  • 小程序开发:用原生还是选框架

    原文链接:小程序开发:用原生还是选框架 小程序开发:用原生还是选框架 本文从面向用户、面向开发者两大维度七大细项,...

  • 小程序框架选型:Taro和WePY

    目前正在开发接手小程序的开发工作。第一件事情就是选择框架,在原生小程序和小程序框架之间还是选择了使用框架,一来可以...

  • mpvue坑点记录

    在入坑小程序的日志中,原生开发,wepay开发,mpvue开发,tato开发还是uni-app,其实框架还是因人而...

  • 微信小程序(Mini Program)技术栈与框架简介

    关键字:微信小程序、Mini Program、技术栈、框架、WePy、MPVue 原生技术栈 原生小程序开发目录示...

  • 微信小程序-开发实战

    前言 最近两个月在研究微信小程序(以下简称小程序)开发,开发方式历经原生小程序开发—>wepy框架开发—>mpvu...

  • 【uniapp】微信小程序登录流程篇

    首先我们要知道在开发微信小程序的过程中,不管使用uniapp这种的跨平台框架开发还是使用微信小程序原生语言开发,有...

  • 使用WePY进行小程序开发

    一直以来开发小程序都是中规中矩的使用微信小程序开发工具,原生开发小程序。最近偶然发现了一个腾讯出品的小程序开发框架...

  • 原生小程序和 mpvue对比(开发前)

    一.介绍 原生小程序:利用微信官方给出的框架,组件,API开发的小程序。 mpVue :利用Vue.js前端框架开...

  • 外包项目,如何给小程序项目定价

    关于小程序存在的特殊性 小程序的特殊性并不是它是一个新兴的框架,因为小程序用的就是原生的JS语法开发的。小程序的特...

  • 微信小程序状态库(mini)

    现在日常开发中,小程序的开发框架有很多,uniapp,taro,mpvue等,都自带了状态库,而偏偏 写原生小程序...

网友评论

    本文标题:小程序开发:用原生还是选框架

    本文链接:https://www.haomeiwen.com/subject/ylxpfctx.html