开发前的准备工作
- 一个AppID
- 开发者工具(然鹅,并不好用)
- 项目配置
需要了解的基础知识
- HTML,CSS,JavaScript
最好使用过框架,如React、Vue
- 小程序的语法更像是React和Vue语法的结合
- 小程序中的生命周期和React中的生命周期有些类似(Vue不太清楚,我没有使用过)
和普通网页对比
说白了,小程序是运行在微信客户端的网页,和普通的网页类似,但是由于小程序的宿主环境和普通网页宿主环境不同,所以小程序和网页存在一些区别。
对比 | 普通网页 | 小程序 |
---|---|---|
渲染线程和脚本线程 | 互斥 | 分开的,运行在不同的线程中 |
运行环境 | PC端(浏览器),移动端 (webView) | IOS, 安卓的微信客户端,开发中的开发者工具 |
开发流程 | 浏览器 + 辅助工具 | 小程序账号,开发者工具,项目配置 |
代码结构
JSON - 静态配置
- app.json
- page.json
app.json | page.json |
---|---|
必需 | 非必需 |
小程序公共设置 | 所属页面的窗口表现设置,覆盖app.json的window设置 |
WXML - 页面
结合基础组件,事件系统,构建页面结构,进行快速开发。
小程序提供了很多的基础组件,可以像搭积木一样快速的搭建页面结构。
主要功能:
- 数据绑定
- 列表渲染
- 条件渲染
- 模板
- 事件
- 引用
WXS - 小程序脚本语言
这是小程序的自身提供的一套脚本语言,和JavaScript不一样,可以结合 WXML 构建页面的结构。
WXSS - 样式
在 CSS 的基础上进行了扩展:
- 尺寸单位
- rpx
- 样式导入
- @import
JavaScript脚本 - 处理用户交互逻辑
结合小程序提供的事件系统、AP,进行微信小程序的功能开发。
在JavaScript基础上的修改:
- 增加 App 和 Page 方法,进行程序和页面的注册
- 增加方法获取App实例和页面栈,控制页面路由跳转
- 提供微信API进行功能开发
- 页面有独立作用域,提供模块化能力
主要 | 详情 |
---|---|
注册程序 | App() ,对应小程序实例 |
注册页面 | Page(),对应页面实例 |
场景值 | 暂时还不清楚用处??? |
路由 | 通过页面栈实现 |
模块化 | 作用域,export/require |
API | 微信原生,调用微信提供的功能 |
总结
微信小程序开发的套路,本质上还是在开发网页,写交互逻辑,与普通网页不同的是,没有了DOM的能力,微信提供了一些微信特有的功能,提供了一些封装好的组件,特殊的API。
从普通网页开发转微信小程序开发的代价不大,熟悉大概的目录结构和开发流程以后,就可以尝试一个小的项目,熟悉微信提供的功能,基本上就OK了。