微信小程序

微信小程序简介

微信小程序,小程序的一种,英文名 Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用 “触手可及” 的梦想,用户扫一扫或搜一下即可在微信内被便捷地获取和传播。

开发微信小程序的时候,我们可以参考微信开放官方文档 微信开发者文档

小程序代码构成

在小程序的代码里面,可以分成四种类型的文件,json 后缀的 JSON 配置文件,wxml 后缀的 wxml 模版文件,wxss 后缀的 WXSS 样式文件和 js 后缀的 JS 脚本逻辑文件。

JSON 配置

JSON 是一种数据格式,并不是编程语言,在小程序中,JSON 扮演的静态配置的角色。

WXML 模版文件

和网页编程里面的 HTML 类似的角色,主要用来绘画小程序的结构。

WXSS 样式文件

和网页编程里面的 css 类似的角色,它主要控制微信小程序页面展示的样式。

JS 脚本逻辑文件

主要用来把控微信小程序页面的事件机制。

小程序与普通网站开发区别

小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有些许区别的。

网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的 DOM API 和 BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IE、Chrome、QQ 浏览器等,在移动端需要面对 Safari、Chrome 以及 iOS、Android 系统中的各式 WebView 。而小程序开发过程中需要面对的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具,小程序中三大运行环境也是有所区别的。

运行环境 逻辑层 渲染层
ios JavaScriptCore WKWebView
安卓 V8 chromium定制内核
小程序开发者工具 NWJS Chrome WebView

网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。小程序的开发则有所不同,需要经过申请小程序帐号、安装小程序开发者工具、配置项目等等过程方可完成。