什么是微信小程序
微信小程序是腾讯2017年1月9日正式上线的一种基于微信的无需安装的应用程序
什么是基于微信?
简单粗暴的理解就是运行在微信中的应用程序, 如果没有安装微信则不能运行
什么是无需安装?
无需安装只是宣传噱头, 本质上小程序也是需要下载安装的. 只不过微信官方对小程序安装的大小有严格的限制(单包2M/总包20M), 所以下载安装非常快, 以至于给用户一种无需安装的错觉
小程序和网页及原生APP对比
- 网页
运行环境: 浏览器(有浏览器就能运行)
优点: 开发成本低(一套代码即可运行在各个平台), 传播速度快(输入网页地址即可使用)
缺点: 用户体验差(交互体验不如原生), 系统契合度差(很多系统功能无法使用)
- 原生APP
运行环境:iOS/Android/HarmonyOS
优点:用户体验好, 系统契合度高(系统开放的功能都可以使用)
缺点:开发成本高(每个平台都需要一套单独代码), 传播速度慢(下载安装繁琐)
- 小程序 (介于网页和原生APP之间)
运行环境: 微信
优点: 用户体验好, 开发成本低, 传播速度快(扫码/聊天分享/微信搜索)
缺点: 系统契合度不如原生(只能使用系统和微信都开放的功能)
例如: 系统开放了拍照功能, 微信也开放了这个功能, 那么开发者就可以使用
例如: 系统开放了读取通讯录功能, 但微信没有开放, 那么开发者就不能使用
但是大家也不用担心, 微信开放的功能完全能满足市面上绝大多数应用的需求
总结
小程序是一种介于网页和原生APP之间的应用程序
它既拥有原生APP良好的用户体验和良好的系统契合度, 又拥有网页较低的开发成本和极佳的传播速度
唯一值得注意的两点是:
小程序为了达到无感安装的效果有体积限制, 所以过于复杂的程序不太适合做小程序
小程序有一套自己的审核机制, 开发完的小程序必须经过腾讯审核之后才能上架
小程序开发准备
知识储备
必备:HTML/CSS/JavaScript(语法部分)
小程序中没有浏览器和文档(Document)对象的概念, 所以不需要BOM/DOM相关知识
可选:TypeScript/SASS/LESS/NodeJS
小程序支持TypeScript/SASS/LESS/NodeJS, 但是不会一样不影响我们开发
事半功倍: Vue/React
小程序中也有模块化/组件化/生命周期/指令等概念, 如果你学习过Vue或React, 会给你一种见到初恋的感觉
账号准备
由于微信开发者工具需要登录后才能使用, 所以需要注册一个小程序账号
账号注册指南:https://developers.weixin.qq.com/miniprogram/introduction/
账号注册地址:https://mp.weixin.qq.com/wxopen/waregister?action=step1
个人开发者: 注册好账号后拿到AppId即可开干
团队开发者: 注册好账号之后还需要添加其它开发人员
开发者工具准备
下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
开发工具介绍: https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html
相关文档/Demo
开发指南: https://developers.weixin.qq.com/ebook?
action=get_post_info&docid=0008aeea9a8978ab0086a685851c0a
开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
Demo案例: https://github.com/wechat-miniprogram/miniprogram-demo