微信小程序

微信小程序
小程序前端Hybrid解决方案,渲染线程与脚本线程(逻辑层)是分开,环境包括IOS和Android的微信客户端,以及开发者工具.缺点:不能订阅,不能转发朋友圈,不能主动推送消息.检索具有局限性,不能模糊搜索.小程序的代码组成:index.wxml和index.wxss和index.wxs和index.json和index.jsWXML:一种标签语言,结合组件,事件,构建出页面结构.所有的wxml标签都支持的属性有id,class,style,hidden,data,bind/catchWXSS:rpx作为尺寸单位,@import url(‘.//.a.wxss’)实现样式引用。支持.class #id element :after :beforeJSON:一种数据格式,静态配置.语法: { “pages”: [], “window”: {}},注意在JSON中无法使用注释JavaScript:ECMAScriptScript(语法+类型+语句+关键字+操作符+对象)+小程序框架+小程序API</p>小程序的宿主环境:分为逻辑层(JS)与渲染层(WXML+WXSS),页面由组件,API,事件,兼容性构成。</p>小程序的API:宿主环境提供丰富的API,所有的API都挂在wx对象下(除了Page/APP等特殊的处理器)。
wx.set*开头的API是写入数据到宿主环境的接口。
wx.get*开头的API是获取数据到宿主环境的接口。
小程序要求开发者服务器提供HTTPS服务的接口
接口回调说明:success 成功 fail 失败 complete 接口调用结束的回调函数
小程序的场景应用:Flex布局 界面的交互反馈 微信登录 本地数据缓存 设备能力
微信登录: wx.login生成一个带有时效性的凭证,发送code到服务器,到微信服务器获取微信用户身份id,绑定微信用户身份和业务用户身份,业务登录凭证返回SessionId
小程序目录:
app.json(小程序公共配置)当前小程序的全局配置,包括小程序所有页面路径,界面表现,网络超时时间,底部tab等.
app字段–用于描述当前小程序所有页面路径.
window字段–定义小程序所有页面的顶部颜色,文字颜色等.
project.config.json(工具配置):配置开发者工具.
page.json(页面配置):用来表示pages/logs目录下的logs.json这类和小程序页面相关的配置.
app.js(必需),小程序逻辑
app.wxss(非必需):小程序公共样式表
page页面:
.json后缀的JSON配置文件 ,提供页面配置.非必须.
.wxml必需文件,采用MVVM的开发模式,JS管理状态,通过一种模板语法来描述状态和界面结果的关系.
.wxss后缀的Wxss样式文件 ,采用大部分CSS特性,仅支持部分css选择器,在底层支持尺寸单位rpx,提供全局样式(app.wxss)和局部样式(page.wxss),非必须.
.js后缀的JS脚本逻辑文件,必需文件.
可上传的的文件白名单:wxss png jpg jpeg gif svg json cer mp3 aac m4a mp4 wav ogg slik
逻辑层(App Service)
–小程序框架的逻辑层,采用JavaScript引擎为开发者提供JavaScriptd代码的运行环境以及微信小程序的特有功能(如:增加APPh和Page方法),逻辑层将数据处理后发送给视图层且接受视图层的反馈.
–API
–模块化
–路由
–注册页面
–场景值 注册程序
视图层: 由于WXML和WXSS和WXS和组件展示,由组件来进行展示,主要作用是将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层.事件:touchstart touchmove touchcancel touchend tap longpress longtap 宿主环境:小程序的运行环境分成渲染层(WXML和WXSS)和逻辑层(JavaScript)分别由两个线程管理,渲染层的界面使用WebView继续渲染,逻辑层使用JSCore线程运行脚本.小程序会有多个页面,也就有多个WebVIew线程.所有线程的通信经由微信客户端做中转.所有页面的脚本逻辑都跑同一个JsCore线程,页面使用setTimeout或者setInterval的定时器,跳转其他页面时,这些定时器并没有被消除.

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理