微信小程序(一) —— 简介

开发前的准备工作

  • 一个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了。