微信小程序制作
当前位置:网站首页 > 小程序热文 > 用Vue.js开发微信小程序 返回列表

用Vue.js开发微信小程序

作者:admin 时间:2020-02-19 浏览量:603
小程序开发特点
1、简洁的开发方式;2、通过多页面聚合完成轻量的产品功能;4、小程序以离线包方式下载到本地,通过微信客户端载入和启动;5、开发规范简洁,技术封装彻底,自成开发体系;6、小程序本身定位为一个简单的逻辑视图层框架;
mpvue 是什么
1、一套定位于开发小程序的前端开发框架,核心目标是提高开发效率,增强开发体验;2、框架提供了完整的Vue.js 开发体验,开发者编写Vue.js代码,mpvue将其解析转换为小程序并确保其正确运行;3、框架还通过 vue-cli 工具向开发者提供 quick start 示例代码,开发者只需要执行一条简单命令,即可获得运行的项目;
小程序开发阶段面临的主要问题
1、组件化机制不够完善2、代码多端复用能力欠缺3、小程序框架和团队技术栈无法有机结合4、小程序学习成本不够低
使用Vue.js 开发小程序,带来如下开发效率提升
1、H5代码可以通过最小修改复用到小程序;2、使用Vue.js 组件机制开发小程序,可实现小程序和H5组件复用;3、技术栈统一后小程序学习成本降低,开发者从H5 转换到小程序不需要更多学习;4、Vue.js 代码可以让所有前端直接参与开发维护
Vue.js 与 小程序 的联系
1、一致的工作原理:都是典型的逻辑视图层框架,逻辑层和视图层之间的工作方式为:数据变更驱动视图更新;视图交互触发事件,事件响应函数修改数据再次触发视图更新。
mpVue 实现原理mpVue实现原理
思路:鉴于Vue.js 和 小程序一致的工作原理,我们思考将小程序的功能托管给Vue.js,在正确的时机将数据变更同步到小程序,从而达到开发小程序的目的。这样,我们可以将精力聚焦在Vue.js上,参照Vue.js编写与之对应的小程序代码,小程序负责视图层展示,所有业务逻辑收敛到Vue.js中,Vue.js数据变更后同步到小程序。
Vue 代码 将小程序页面编写为Vue.js实现 以Vue.js 开发规范实现父子组件关联 小程序代码 以小程序开发规范编写视图层模板 配置生命周期函数,关联数据更新调用 将Vue.js 数据映射为小程序数据模型 并在此基础上,附加如下机制Vue.js 实例与小程序Page实例建立关联 小程序和Vue.js 生命周期建立映射关系,能在小程序生命周期中触发 Vue.js 生命周期 小程序事件建立代理机制,在事件代理函数中触发与之对应的Vue.js 组件事件响应QA:
1、要同时维护 Vue.js 和小程序,是否需要写两个版本的代码实现?2、小程序负责视图层展现,Vue.js的视图层是否还需要,如果不需要应该如何处理?3、生命周期如何打通,数据同步更新如何实现?
首先,mpvue 为提高效率而生,本身提供了自动生成小程序代码的能力,小程序代码根据 Vue 代码构建得到,并不需要同时开发两套代码。
Vue.js 视图层渲染由 render 方法完成,同时在内存中维护着一份虚拟DOM,但是mpvue不需要使用Vue.js 完成视图层渲染,因此我们改造了render方法,禁止视图层渲染。Vue runtime 有多个平台实现,所以我们增加了新的平台 mpvue。
生命周期关联:1、生命周期和数据同步是mpvue框架的灵魂,Vue.js和小程序的数据彼此隔离,各自有不同的更新机制。2、mpvue 从生命周期和事件回调函数切入,在Vue.js 触发数据更新时实现数据同步。3、小程序通过视图层呈现给用户、通过事件响应用户交互,Vue.js在后台维护着数据变更和逻辑。4、数据更新发端于小程序,处理自Vue.js,Vue.js数据变更后再同步到小程序。5、为了实现数据同步,mpvue修改了Vue.js runtime 实现,在Vue.js 的生命周期中增加了更新小程序数据的逻辑。
事件代理机制:1、用户交互触发的数据更新通过事件代理机制完成2、一方面,Vue.js执行环境中维护着一份实时的虚拟DOM,这与小程序的视图层完全对应,因此,在小程序组件节点上触发事件后,只要找到虚拟DOM上对应的节点,就可以触发对应的事件。2、另一方面,Vue.js事件响应如果触发了数据更新,其生命周期函数更新将自动触发,在此函数上同步更新小程序数据,数据同步也就实现了。
联系方式:18066528545   029-89298792

阅读过此文章的读者,还阅读过下面的文章

  • 小程序与原生APP那个好?下面我们就来一起了解一下小程序与原生APP那个好。以下是所整理的小程序与原生App的内容,希望对你有所帮助。

    小程序的优点:

    基于微信平台开发,享受微信自带的流量,这个优点最大
    无需安装,只要打开微信就能用,不占手机内存,体验好
    开发周期段,一般最多一个月就可以上线完成
    开发所需的资金少,所需资金是开发原生APP的一半不到
    小程序名称是唯一的,在微信的搜索里权重很高
    容易上手,只要之前有HTML+CSS+JS基础知识,写小程序基本没有大问题
    基本不需要考虑兼容性问题,只要微信可以正常运行的机器,就可以运行小程序
    发布,审核高效,基本上午发布审核,下午就审核通过,升级简单,支持灰度发布
    开发文档完善,社区活跃
    支持插件式开发,一些基本功能可以开发成插件,供多个小程序使用
    小程序的缺点:
    局限性很强(比如页面大小不能超过1M,不能打开超过5个层级的页面,样式单一,小程序的部分组件已经是成型的- 了,样式不能修改,比如幻灯片,导航)只能依赖于微信依托与微信,无法开发后台管理功能
    不利于推广,推广面窄,不能分享朋友圈,只能分享给朋友,附近小程序推广,其中附加小程序也收到微信限制
    后台调试麻烦,因为API接口必须https请求,且公网地址,也就是说后台代码必须发布到远程服务器上;当然我们可以修改host进行dns映射把远程服务器转到本地,或者开启tomcat远程调试;不管怎么说终归调试比较麻烦
    前台测试有诸多坑,最头疼莫过于模拟器与真机显示不一致
    js引用只能使用绝对路径,不能操作DOM
    原生App优点:
    原生的相应速度快
    对于有无网络操作时,譬如离线操作基本选用原生开发
    需要调用系统硬件的功能(摄像头,拨号,短信蓝牙…)
    在无网络或者弱网情况下体验好
    原生App缺点:
    开发周期长,开发成本高,需要下载
  • 小程序和Vue写法的区别?下面我们就来一起了解一下小程序和Vue写法的区别。以下是我所整理的小程序和Vue写法的区别,希望对你有所帮助。

    遍历的时候:

    • 小程序wx:for=“list”,
    • 而Vue是v-for=“item in list”

    调用data模型(赋值)的时候:

    • 小程序:this.data.item // 调用,

    • 小程序:this.setDate({item:1})//赋值

    • Vue:this.item //调用,

    • Vue:this.item=1 //赋值

  • 小程序调用后台接口遇到那些问题?下面我们就来一起了解一下小程序调用后台接口遇到那些问题。以下是所整理的小程序调用后台接口遇到的问题,希望对你有所帮助。

    数据的大小限制,超过范围会直接导致整个小程序崩溃,除非重启小程序

    小程序不可以直接渲染文章内容这类型的html文本,显示需要借助插件
    注:插件渲染会导致页面加载变慢,建议在后台对文章内容的html进行过滤,后台直接处理批量替换p标签div标签为view标签,然后其他的标签让插件来做
  • 分析微信小程序的优劣势?下面我们就来一起简单的了解一下微信小程序的优劣势。下面是所整理的微信小程序的优劣势,希望对你有所帮助。

    优势:

    容易上手,基础组件库比较全,基本不需要考虑兼容问题
    开发文档比较完善,开发社区比较活跃,支持插件式开发
    良好的用户体验,无需下载,通过搜索和扫一扫就可以打开,打开速度快,安卓上可以添加到桌面,与原生APP差不多
    开发成本比APP要低
    为用户提供良好的保障(小程序发布,严格是审查流程)

    劣势:
    限制较多,页面大小不能超过1M,不能打开超过5个层级的页面
    样式单一,部分组件已经是成型的,样式不可修改,例如:幻灯片,导航
    推广面窄,不能分享朋友圈,只能通过分享给朋友,附加小程序推广
    依托与微信,无法开发后台管理功能
    后台调试麻烦,因为api接口必须https请求且公网地址
    真机测试,个别安卓和苹果表现迥异,例如安卓的定位功能加载很慢

  • 简单描述下微信小程序的 相关文件类型。下面我们就来一起了解一下微信小程序的 相关文件类型。以下是所整理的微信小程序的 相关文件类型,希望对你有所帮助。

    wxml 模板文件,是框架设计的一套标签预言,结合基础组件,事件系统,可以构建出页面的结构

    wxss 样式文件,是一套样式语言,用于描述WXML的组件样式
    js脚本逻辑文件。逻辑处理网络请求
    json配置文件,小程序设置,如页面注册,页面标题及tabBar
    app.json 整个小程序的全局配置,包括:
    pages:\[所有页面路径]
    网络设置(网络超时事件)
    页面表现(页面注册)
    window:(背景色,导航样式,默认标题)
    底部tab等
    app.js 监听并处理小程序的生命周期函数,声明全局变量等
    app.wxss 全局配置的样式文件

  • 请谈谈原生开发小程序,wepy,mpvue的对比?下面我们就来一起了解一下原生开发小程序,wepy,mpvue的对比。个人认为,如果是新项目,且没有旧的 h5 项目迁移,则考虑用小程序原生开发,好处是相比于第三方框架,坑少。

    而如果有 老的 h5 项目是 vue 开发 或者 也有 h5 项目也需要小程序开发,则比较适合 wepy 或者 mpvue 来做迁移或者开发,近期看wepy几乎不更新了,所以推荐美团的mpvue。
    而如果如果团队前端强大,自己做一套框架也没问题。

029-86195145 180 6652 8545 西安嘉瑞德网络科技公司
工作时间:周一到周六 8:30-18:30
邮箱:2528823962@qq.com
QQ:2528823962
地址:陕西省西安市未央元朔路明丰伯马都A座10820室
  • 微信小程序制作微信二维码
    扫码咨询
Copyright © 2015 西安嘉瑞德网络科技有限公司 陕ICP备17015187号-1