主页

微信小程序生命周期详细讲解——简明教程(十一)

小程序生命周期分为小程序的应用生命周期和页面生命周期。 一、小程序应用生命周期 小程序的应用生命周期有四个钩子,分别是onLaunch,onShow,onHide和onError。 第一次进入小程序的时候,微信客户端会帮我们初始化小程序的运行环境,这时候会从本地或者CDN上拿到小程序的代码包,然后注入到运行环境里面。初始化完毕之后微信客户端会给逻辑层APP事例派发onLaunch事件,onLaunch方法方法就会被调用。 如果点击关闭或者按Home键离开小程序,那么小程序就进入了后台状态。这时onHide方法就会被调用,当再次打开小程序,onShow方法就会被调用。 当小程序发生脚本错误,或者API调用失败的时候,就会触发onError方法。 在这里的globalData是...

阅读更多

微信小程序运行机制——简明教程(十)

相信大家都有所体会,当我们第一次打开小程序的时候会比较慢,如果你已经打开过一次小程序了,再次打开这个小程序就会变得快一点。那小程序是怎么启动的呢? 小程序的启动可以分为两种,冷启动和热启动。 一、热启动 首先我们来讲热启动。假如用户已经打开过某个小程序,在一定时间内再次打开,这个时候小程序不需要重新启动,只需要把后台缓存的小程序切换到前台来使用。 二、冷启动 冷启动指的是小程序首次打开,或者是小程序被微信主动消毁后再次打开的情况,这个时候小程序需要重新加载启动。 1、销毁机制 那么什么情况下小程序会被销毁呢?这里又分两种情况。因为小程序进入后台之后,微信客户端会帮我们维持小程序的的状态,超过时间时候,就会被微信主动销毁。这个时间目前知道的是5分钟。另外一种情况是在短时...

阅读更多

微信小程序MINA框架——简明教程(九)

之前的章节中我们介绍了小程序开发框架的几个组成部分,下面我们在学习小程序开发框架底层的一个架构实现,以及小程序启动和运行机制。 一、MINA框架 小程序的开发框架,称为MINA框架,通过这个框架图,我们可以看到三个部分,首先是view视图层,其次是App service 逻辑层和Native系统层。如下图: 二、view视图层 视图层中包含了小程序的多个页面,每个页面上有我们的一个wxml文件和wxss文件,这两个文件是来搭建我们页面视图的结构和展现样式。 三、App service 逻辑层 App service 逻辑层,顾名思义,逻辑层就是处理事务逻辑的地方,它是MINA框架整个数据交互的服务中心。 我们看到逻辑层它是有两个部分,一个是manager,它的主要功能...

阅读更多

微信小程序如何使用WXS——简明教程(八)

除了在逻辑层使用的JavaScript脚本语言外,小程序还有自己的一套脚本语言称作WXS,WXS的全称是——微信Script。 一、WXS的语言特性 我们可以使用WXS结合WXML构建页面视图的结构内容。我们一般是使用WXS做一个过滤处理,或者是一个计算处理来使用,我们来看一下WXS的语言特性。包括模块,变量,注释,运算符,语句,数据类型和基础类库。 二、模块特性 WXS有很多特性,不过现在想说的是模块特性,其他的特性和JavaScript是差不多的。 模块可以用标签申明,也可以通过一个文件来声明文件,需要呃将它命名为.wxs后缀的文件。在WXS模块里面,它都是它有自己独立的作用域,每一个模块里面所定义的变量和函数默认都是私有的,对外是不可见的。 例如,我们声明了一个W...

阅读更多

微信小程序JavaScript实现——简明教程(七)

一、JavaScript 前面我们说过小程序是通过JavaScript来实现的,JavaScript是一种轻量的,解释型的,面向对象的头等函数语言,是一种动态的基于原型和多范式的脚本语言,它支持面向对象命令式和函数式的编程风格,那么这里的轻量是指我们在入门JavaScript语言时,我们在学习的时候会觉得他没有其他编程员学习起来那么重。那么解释性呢,是指我们所编写JavaScript语言,他在运行时机器会把它翻译成对应的机器语言。但我们其他的编程语言,比如c或c++,他在执行的时候会被翻译成对应的一个二进制文件。 那么JavaScript语法是比较接近于JAVA和C++都是面向对象编程的,对于我们学过Java编程语言的初学者来说,可能会把JavaScript和Java联系到一起,其...

阅读更多

微信小程序开发框架组成之WXSS使用和特性——简明教程(六)

小程序视图层的另外一种语言,WXSS它的全称是WeiXin Style Sheets,是一种样式语言,用于描述wxml组件的样式。他决定是小程序各个元素在视觉效果上的展示,和我们的css是一样的道理。不过wxss在css的基础上做了一些修改和补充,这一点我们需要知道。 一、WXSS特性之响应式像素 在小程序中使用的单位是rpx,这和我们的css中有所不同。在讲单位rpx之前,我们先来了解下几个概念。如下图: 1、首先是设备像素,指的是设备能显示的最小物理单位,也就是屏幕上的点,这些点是固定不变的。 2、CSS像素使用的是px,是外部编程的一个概念,是css代码中使用的逻辑像素。 3、PPI,也叫做DPI,指的是每英寸所拥有的像素数目,数目越高就代表显示屏能以最高的密度去显...

阅读更多

微信小程序开发框架组成——简明教程(五)

一、开发框架基本构成 如图,微信小程序的开发框架基本是由下面的四个部分构成。于小程序代码结构——简明教程(二)我们已经知道除了WXS的其他三个的功能和作用。WXML其实就是描述页面的内容;WXSS就是描述一个页面的样式;JavaScript是处理页面的交互逻辑以及数据的通讯。 那么WXS是做什么的呢?WXS其实是对WXML能力增强的脚本语言,可以把我们请求到的数据进行计算出来,帮助WXML快速构建内容结构。 二、WXML 1、WXML之语法 WXML是WeiXin Markip Language的缩写,是款家设计的一套标签语言,结合组件,WXS和事件系统,可以构建出页面的结构。 和我们的html一样,也是有属性的。 这里我们要注意的是,WXML中的标签是一定要闭合的;...

阅读更多

创建第一个微信小程序——简明教程(四)

在之前的章节中小程序代码结构——简明教程(二)我们说到微信小程序至少有两个文件,一个是app.js文件,另外一个是app.json文件。app.js文件是帮我注册微信小程序的文件。app.json文件是小程序的一些全局配置。 一、app.js 在创建一个小程序的时候,我们的目录是一个空的目录。所以首先要去创建一个app.js文件。app.js是怎么帮我们去注册微信小程序的呢?其实app.js是需要调用一个APP函数,APP函数里面需要传入一个参数,这个参数是一个object类型的参数,在这函数里面我们主要是传入一些生命周期钩子和一些事件处理函数和全局的一些数据。本例中我们要创建一个helloworld小程序,所以先传入空的参数。 APP({}) 二、app.json 然后我...

阅读更多