小程序学习教程1

189 阅读12分钟

一、什么是小程序?

首先我们要了解到,小程序并不是网页,也不是个app,它是微信小程序、支付宝小程序、QQ小程序、抖音小程序、今日头条小程序、百度小程序等等的统称。
主要指微信小程序

1.1 小程序的概念

小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载
--- 微信之父、FoxMail之父 张小龙、微信小程序之父?

根据张小龙的总结,我们不难总结出:

  1. 特点:无需下载(并非不下载,而是小程序体积非常小,用户感知不到下载的过程 打开任意一个小程序(2MB))、无需卸载
  2. 理念:用完即走(让用户在短时间内完成某件操作,用户离开小程序即可,并不需要关注小程序本身)
  3. 入口:扫一扫、搜一下、群聊……

1.2 小程序的开发与普通网页开发以及APP开发的区别

  1. 运行环境的不同
    • 小程序是运行在微信环境
    • 网页是运行在浏览器环境
    • APP运行在手机操作系统中
  2. API 不同
    • 因为小程序运行的环境是微信,因此无法调用DOM和BOM的API,
    • 但小程序可以调用微信环境提供的各种API,如:
      • 微信扫码
      • 微信支付
      • 地理位置
    • APP的API是手机操作系统提供的
  3. 开发模式的不同
    • 网页的开发模式:代码编辑器 + 浏览器
    • 小程序拥有自己的一套标准开发模式
      • 申请小程序开发账号
      • 安装小程序开发者工具
      • 创建和配置并开发小程序项目
      • 在开发者工具中对代码进行上线
    • App 开发模式需要调用 IOSAndroid 的组件库
  4. 标签不同
    • 网页标签:div、span、img等
    • 小程序标签:view、text、image等

二、小程序开发的流程

1. 可用微信扫描下面的二维码体验小程序的开发

001 - 体验小程序.jpg

2. 微信小程序开发流程概述

参考网址:微信公众平台

  1. 注册:在微信公众平台注册小程序,完成注册后可以同步进行信息完善和开发
    • 在实际开发中,注册通常由运营、产品经理、项目经理进行注册
    • 并不是前端程序员来进行注册
  2. 小程序信息完善:填写小程序基本信息,包括名称、头像、介绍及服务范围等
    • 在实际开发中,完善小程序的基本信息,通常是由运营、项目经理、产品经理进行完善
    • 前端程序员不要更改这些的基本信息
  3. 开发小程序:完成小程序开发者绑定、开发信息配置后,开发者可下载开发者工具、参考开发文档进行小程序的开发和调试
    • 前端程序员主要战场
    • 在实际开发中,开发一个小程序,首先需要将自己的微信号给相关的负责人绑定到注册的小程序中,才能够进行开发
    • 下载开发者工具
    • 参考开发文档进行小程序的开发
  4. 提交审核和发布:完成小程序开发后,提交代码至微信团队审核,审核通过后即可发布(公测期间不能发布)
    • 在实际开发中,小程序的发布和上线,可能是前端程序员或者相关的负责人进行发布和上线
    • 开发好项目以后,需要确认是否是由前端进行上线

三、注册小程序开发账号的流程

  1. 需要在微信公众平台注册小程序账号
  2. 微信公众平台:微信公众号平台
  3. 微信公众号实际上分为 4 类:订阅号(就是咱们平台聊天时候说的公众号)、服务号、小程序、企业微信

具体步骤:

  1. 打开微信公众平台,点击右上方“立即注册”按钮;

1-4 注册账号.jpg

  1. 这时候会弹出让你选择注册类型的页面,包括:订阅号、服务号、小程序、企业微信。由于我们要注册小程序,这个时候点击小程序框;

1-5 注册账号.jpg

  1. 这时候出现了注册表单页面,流程是:账号信息 -> 邮箱激活 -> 信息登记,我们需要认真的按照表单提示信息填写准确的信息;

    • 邮箱不能被个人微信绑定 1-6 注册账号.jpg
    • 邮箱激活

    1-7 注册账号.jpg

    • 选择主体类型 1-8 注册账号.jpg

    • 主体登记信息 1-9 注册账号.jpg

  2. 此时,基本我们就注册完毕了

四、获取小程序的AppID

相当于小程序在微信中的“身份证”,有了 AppID ,微信客户端才能确定小程序“身份”,并使用微信提供的高级接口

  • 用来创建小程序项目
  • 进行小程序的预览
  • 调用一些高级的接口,例如:支付、登录

获取AppID.png

五、微信开发者工具

1.1 微信开发者工具的安装

  1. 了解微信开发者工具

    微信开发者工具是腾讯官方推荐使用的小程序开发工具,它提供的主要功能如下:

    • 快速创建小程序项目
    • 代码的查看和编辑
    • 对小程序功能进行调试
    • 小程序的预览和发布
  2. 下载并安装微信开发者工具

    • 推荐下载和安装最新的稳定版 Stable Build 的微信开发者工具
    • 微信开发者工具下载地址
    • 安装方式: 下一步 --> 下一步

1.2 登陆开发者工具

1-12 扫码登录.jpg

开发工具登陆.png

1.3 设置开发工具的外观和代理

  1. 为什么要代理设置?

    • 因为部分同学可能电脑安装了网络加速器或者翻墙工具,导致网络不稳定
    • 为了防止加速器造成网络的不稳定,所以推荐代理设置为不使用任何代理

    外观设置.png

    代理.png

1.4 演示新建小程序的流程

点击:小程序 -> + -> 进入创建小程序,填写项目信息页面

1.png

2.png

1.5 预览小程序

  1. 利用开发者工具直接编译查看

    Snipaste_2021-08-12_11-37-15.png

  2. 点击开发者工具中的预览,用手机微信扫描弹出的二维码,在手机中进行预览

    Snipaste_2021-08-12_11-40-55.png

六、小程序项目的构成

1.1 小程序项目目录的构成

  1. pages 用来存放所有小程序的页面

  2. utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)

  3. app.js 小程序项目的入口文件

  4. app.json 小程序项目的全局配置文件

  5. app.wxss 小程序项目的全局样式文件

  6. project.config.json 项目的配置文件

  7. sitemap.json 用来配置小程序及其页面是够允许被微信索引 -- SEO -- 搜索引擎优化

    2.png

注意:json 文件在小程序中是配置文件

  • 不能写注释
  • 键和值都必须是双引号
  • 不能出现多余的逗号

1.2 小程序页面的组成部分

小程序官方建议把所有的小程序页面,都存放在 pages 目录中,每个页面以单独的文件夹存在

  • 每个页面由四个文件组成

    1. .js 文件 -- 页面的脚本文件,存放页面的数据、事件处理函数、生命周期等
    2. .json 文件 -- 当前页面的配置文件,配置页面的外观、表现等
    3. .wxml 文件 -- 页面的模板结构文件
    4. .wxss 文件 -- 当前页面的样式表文件

    1.png

1.3 认识小程序中的 4 种配置文件

JSON 是一种数据格式,在实际开发中,JSON 总是以配置文件的形式出现。小程序项目也不例外,通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置。

  • 小程序项目中有 4 中 json 文件,分别是:

    1. 项目根目录中的 app.json 配置文件 ★★★★★
    2. 项目根目录中的 project.config.json 配置文件
    3. 项目根目录中的 sitemap.json 配置文件
    4. 每个页面文件夹中的 .json 配置文件 ★★★★★

    3.png

1.3.1 app.json介绍

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径窗口外观界面表现底部 tab

  • Demo 项目里面的 app.json 配置内容如下:

    4.png

  • 全局配置文件就是指配置好以后,能够影响到每一个页面

简单了解下这 4 个配置项的作用:

  1. pages:用来记录当前小程序所有页面的路径

  2. window:全局定义小程序所有页面的背景色、文件颜色等

  3. style:全局定义小程序组件所使用的样式版本

    • 微信小程序是运行到微信内部的
    • 样式风格和微信是一致的
    • 微信主要样式风格会发生改变,小程序也会随之发生改变
    • 这时候就产生了样式版本的概念
  4. sitemapLocation:用来指明 sitemap.json 的位置

1.3.2 project.config.json介绍

project.config.json 是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:

  1. setting 中保存了编译相关的配置
  2. projectname 中保存的是项目名称
  3. appid 中保存的是小程序的账号 ID

1.3.3 sitemap.json介绍

在实际开发中,这个文件,默认就可以

如果需要进行配置,需要按照运营的要求,进行文件的配置

微信现已开放小程序内搜索,效果类似于 PC 网页的 SEO (搜索引擎优化),sitemap.json 用来配置小程序页面是否允许微信搜索

当开发者允许微信搜索时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

5.png

注意: sitemap 的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件 project.config.jsonsetting 中配置字段 checkSiteMapfalse

1.3.4 页面的 .json 配置文件

小程序中的每一个页面,可以使用 .json 文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖 app.json 中的 window 中的配置项

1.3.5 新建小程序页面

  1. pages 文件中右键 新建文件夹 -- home,在 home 文件夹右键 新建 home -- 输入 hoome

    • 官方推荐文件夹名称和页面的名称一致,方便后期的维护
    • 新建页面组件的时候,不需要输入后缀名
  2. app.json --> pages 中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件

  3. 对 pages 目录下页面的删除或者新增都需要在 app.json 文件的 pages 数组中进行新增或删除

1-27 新建页面.jpg

1.3.6 设置首页的两个方式

  1. 调整 app.json --> pages 数组中页面路径的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面,当作项目首页进行渲染

1-28 设置首页的第一个方式.jpg 2. 在 app.jsonpages 同级,配置一个新的节点 entryPagePath 节点,传入需要设置为首页的路径即可 - 最终小程序项目的首页,以 entryPagePath 节点设置的为准

1-29 设置首页的第一个方式.jpg

1.3.7 WXML 的概念以及和 HTML 之间的区别

  1. 什么是 WXML
    • WXMLWeiXin Markup Language)是框架设计的一套标签语言(组件),用来构建小程序页面的结构
    • 类似于网页开发中的 HTML
  2. WXMLHTML 的区别
    • 标签名称不同
      • HTML --- div、p、span、img
      • WXML --- view、text、image、navigator
    • 属性节点不同
      • <a href="#">超链接</a>
      • <navigator url="/pages/home/home"></navigator>
    • 提供了类似于 Vue 中的模板语法
      • 数据绑定 -- 插值表达式
      • 列表渲染 -- wx:for -- v-for
      • 条件渲染 -- wx:if -- v-if

1.3.8 WXSS 的概念以及和 CSS 之间的区别

  1. 什么是 WXSS
    • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
    • 类似于网页开发中的 CSS
  2. WXSSCSS 之间的区别
    • 新增了 rpx 自适应尺寸单位
      • CSS 中需要手动进行像素单位换算,例如 rem
      • WXSS 在底层支持新的尺寸单位 rpx,在不同大小的屏幕上小程序会自动进行换算
    • 提供了全局的样式和局部样式
      • 项目根目录中的 app.wxss 会作用于所有小程序页面
      • 局部页面的 .wxss 样式仅对当前页面生效
    • WXSS 仅支持部分 CSS 选择器
      • 重点使用 class 选择器
      • .class 和 #id
      • element
      • 并集选择器和后代选择器
      • ::after 和 ::before 等伪类选择器

1.3.9 小程序中 JS 文件的三大分类

一个项目仅仅提供页面的展示是不够的,在小程序中,我们通过 .js 文件来处理用户的操作,例如:响应用户的点击、获取用户的位置等等

小程序中的 JS 文件分类三大类,分别是:

  1. app.js
    • 整个小程序项目的入口文件,通过调用 App() 函数 来启动整个小程序
  2. 页面的 .js 文件
    • 页面的入口文件,通过调用 Page() 函数来创建小程序页面,并运行小程序页面
  3. 普通的 .js 文件
    • 普通的功能模块文件,用来封装公共的函数或属性供页面使用

1.4 小程序运行机制

  1. 小程序启动的过程
    • 把小程序的代码包下载到本地
    • 解析 app.json 全局配置文件
    • 执行 app.js 小程序入口文件,调用 App() 创建小程序实例
    • 渲染小程序首页
    • 小程序启动完成
  2. 页面渲染的过程
    • 加载解析页面的 .json 配置文件
    • 加载页面的 .wxml 模板和 .wxss 样式
    • 执行页面的 .js 文件,调用 Page() 创建页面实例
    • 页面渲染完成
  3. 小程序从启动到关闭整个过程
    • 小程序先启动
    • 渲染小程序的页面
    • 小程序页面关闭
    • 小程序关闭