小程序如此轻便易用,在市面上流行度如此之高,身为前端开发者,小程序开发算得上是必须掌握的一门基本技能。
小程序的开发基于微信提供的一套应用框架。微信通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能,为开发者提供了一套完整的API,让开发者可以轻松使用微信提供的各种基础功能客户,快速构建应用程序的功能。框架设计如下:
框架提供了自己的视图层描述语言WXML和WXSS,以及基于它的逻辑层框架,通过视图层和逻辑层的单向数据绑定来传递数据,让开发者可以更加专注于数据和逻辑。这里需要强调的一个关键特点,微信原生框架,使用的是单向数据绑定的方法。
小程序开发流程一 ——— 申请开发者账号,注册小程序
小程序门槛低,易出现各种诈骗,诱导消费,窃取用户数据等问题。监管现在还是十分严格的,不是随随便便就能开发上线了。有一套比较详细的注册流程,不过整体体验还好,不算繁琐。
开发流程二 —— 创建项目
创建项目需要通过开发者工具来完成。开发者工具需要在微信小程序公众平台下载。这跟普通项目开发就有很大不同了,使用常见的 vscode, webStrom 都无法很方便地创建小程序项目,生成原生微信小程序的基础框架。这里就需要使用开发者工具了,对于普通开发者来说,选择稳定版即可。
首先我们来看一下小程序的目录结构:
微信对小程序的开发有一些规定, app.js、app.json 、app.wxss 这三个文件必须放在小程序根目录下,其他文件由开发者自由控制。此外需要有 pages 和 utils 目录;
小程序每一页面由四个相同路径下、相同文件夹内,但不同后缀的同名文件组成;
在通常的前端项目开发中,我们在 html 页面中引入相应的 css 和 js,但是小程序开发并不不需要在 wxml 中引入 wxss 和 js,也不用担心引入 json 中的设置。只需要将他们放入同一个文件,小程序便会识别相同的名称文件,将页面与逻辑 js 和样式进行关联和匹配。
开发流程三 —— 开始开发
接下来,可以开始具体的开发了。
框架:小程序内嵌微信框架,无需额外框架
一般来说,当我们开始前端项目的开发时,我们会从框架开始引入和设计。小程序封装了一个为客户端设计的框架,小程序的开发者就是基于这个框架开发的,现有的框架不需要考虑重新构造。
小程序没有或没有浏览器 BOM 的宿主环境。
模块化:正式支持微信小程序开发资源汇总,加载引用更像 ES6,小程序的模块操作(类似于node,框架会自动添加外层)。
模块化:UI 组件设计
在开发的时候,我们在模块化视图相关的组件时可能需要注意。比如在H5中,我们通常将它封装成一个模块化的组件,可以复用。在小程序中,视图只能在wxml中,不能动态生成。
在页面的开发中我们需要注意:
在页面js中,数据数据需要约定为只读。该框架是单向数据绑定。修改数据中的数据不会自动更新View;要更新视图,需要使用 setData() 方法。所以改变this.data的值同时,必须用this.setData也更新一下,与 Diff 中的数据进行比较,差异才会被更新到 view 视图上。如果只是简单地直接修改数据,很容易导致数据中的数据与 View 不一致。
{{{…}},模板中的数据{{{}},{{}},数据中对应的数据是data:{:{"",:""}},方便控制子视图。 模板字符串的用法同 Vue 基本一致的。另外,微信的组件绑定属性中,如果需要绑定有 js 表达式或者非字符串类型的变量,也需要使用{{{}}模板字符串的语法,Vue 中是直接是使用双引号即可。
在开发过程中还有一些注意事项:
-
每个页面都需要在app.json中手动注册。如果没有注册,页面将不会被执行。
-
打开页数限制为5个,开发时要记得控制打开页数。