是什么?
提供了一种新的开放能力,让开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
框架
小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发 具有原生APP体验的服务。框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上。 框架的核心是一个响应的 数据绑定系统。 整个系统分为两块视图层(View)和逻辑层(App Service) 框架可以让数据与视图非常简单地保持同步。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。
环境
微信小程序运行在三端:iOS、Android和 用于调试的开发者工具 在 iOS 上小程序的javascript代码是运行在JavaScriptCore中 在 Android 上小程序的javascript代码是通过X5内核来解析 在 开发工具 上小程序的javascript代码是运行在nw.js(chrome内核)中 由于框架并非运行在浏览器中,所以JavaScript在web中一些能力都无法使用,如document,window 等。
有什么?
组件
框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。基础组件分为以下八大类:视图容器、基础内容、表单、操作反馈、导航、多媒体、地图、画布。 组件官方链接:https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=20161222
资源
基于微信小程序轻快的特点,微信拟定了小程序界面设计指南和建议。旨在微信生态体系内,建立友好、高效、一致的用户体验,同时最大程度适应和支持不同需求。 为方便设计师进行设计,微信提供一套可供Web设计和小程序使用的基础控件库;同时提供方便开发者调用的资源。 WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。 设计要求访问如下:https://mp.weixin.qq.com/debug/wxadoc/design/
开发工具
为了帮助开发者简单和高效地开发微信小程序,我们推出了全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能。启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所有的操作都会基于这个微信帐号。 工具官方地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html
能干什么?
界面
- 显示消息提示框、隐藏消息提示框、显示模态弹窗和显示操作菜单。
- 动态设置当前页面的标题、在当前页面显示导航条加载动画和隐藏导航条加载动画。
- 保留当前页面,跳转到应用内的某个页面;关闭当前页面,跳转到应用内的某个页面;关闭当前页面,返回上一页面或多级页面,跳转页面目前最多层级是5层。
- 创建一个动画实例,对动画的控制有旋转、缩放、偏移、倾斜和矩形变形等。
- 绘图上下文context对象,使用H5标签来绘制图表和动画。
- 其他的一些界面控制,例如收起键盘、停止当前页面下拉刷新等。 接. 官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/design/index.html
开放接口
- 登录:使用微信账号登录。
- 用户信息,能够获取到的信息有:昵称、头像、性别和所在省市。
- 微信支付:发起微信支付
- 模板消息:商户可以将模板消息推送发送给接受过服务的用户,用户接受一次服务,七天内可收到一条模板消息。点击查看详情仅能跳转下发模板的该帐号的各个页面;下发用户条件说明:一是支付:当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发1条,多次支付下发条数独立,互相不影响),二是提交表单:当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)。
- 客服消息:为丰富小程序的服务能力,提高服务质量,微信为小程序提供客服消息能力,以便小程序用户可以方便快捷地与小程序服务提供方进行沟通。用户可以在小程序内联系客服,支持文字和图片。商户可以在48小时内回复用户。
- 分享功能:可以分享小程序的任何一个页面给好友或群聊。 接. 官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html
数据
- 每个微信小程序都可以有自己的本地缓存,可以通过接口对本地缓存进行设置、获取和清理。
- 本地缓存最大为10MB。
- localStorage是永久存储,不建议将关键信息全部存在localStorage,以防用户换设备的情况数据官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/data.html
设备
- 获取网络类型(2g,3g,4g,wifi)
- 获取系统信息(手机型号、微信版本号等)
- 监听重力感应数据,频率:5次/秒
- 监听罗盘数据,频率:5次/秒
- 拨打电话
- 扫一扫:用户可以在小程序中使用扫一扫。 设备官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/systeminfo.html
位置
- 获取当前的地理位置、速度(单位m/s)
- 打开地图选择位置,使用微信内置地图查看位置 位置官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html
网络
发起请求: wx.request发起的是 HTTPS 请求,类似ajax请求,其中data数据说明,最终发送给服务器的数据是String类型,如果传入的data不是String类型,会被转换成 String 。
上传下载: 将本地资源上传到开发者服务器 WebSocket: 一种在单个TCP连接上进行全双工通讯的协议,能够轻松构建低延迟的客户端,可用来开发客服消息 文件: 保存到本地、删除本地存储的文件,获取文件列表及文件信息 新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx 媒体: 从本地相册选择图片或使用相机拍照、预览图片和获取图片信息 录音: 开始和停止录音,另外当录音超过1分钟时自动结束录音。 音频播放控制: 开始播放语音,同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 暂停正在播放的语音、结束播放语音和重新开始播放语音。 音乐播放控制: 获取音乐播放状态、暂停和停止播放音乐,控制音乐播放进度 播放音乐,同时只能有一首音乐正在播放。
视频: 拍摄视频或从手机相册中选视频,返回视频的临时文件路径。 拍摄视频最长拍摄时间,单位秒。最长支持60秒 可以使用前置或者后置摄像头,默认为前后都有 文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动上面的文件接口将视频保存到本地,在小程序下次启动时才能访问得到。 网络官方接口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-network.html