一、什么是微信小程序
- 1、简称小程序(Mini Program),是一种不需要下载安装即可使用的应用,于 2017 年1月9日正式上线,其实就是在微信内镶嵌app
- 2、小程序的 4 大特性:无需安装、触手可及、用完即走、无需卸载;其实小程序在使用之前还是需要下载安装的:下载->安装->使用;只不过官方对小程序的安装包(release包)有大小限制,比如目前是限制不能超过 2M;下载的速度非常的快,给用户感觉不需要安装的感觉;所以在开发中用到的资源文件(大图片、音频、视频等) 也尽量放在服务器端
- 3、目前小程序的主要入口主要有:扫码、微信内搜索、点击聊天中分享的小程序、点击公众号菜单;目前无法分享到朋友圈,但是可以分享微信超程序的图片到朋友圈。
- 4、小程序的一些应用场景:不经常使用,但是刚需、不会停留太久的简单工具;比如:天气预报、出行、住宿、话费、缴费、外卖、快递、买票(车票、机票、门票、电影票)等等。
二、微信小程序与其他的对比
- 2.1、小程序开发 VS 网页开发:它们有很大的相似性
- 2.2、在小程序开发中
- 编写样式时建议多使用 flex 布局
- 支持 TypeScript
- 也可以自行搭建 less、sass 开发环境
- 2.3、小程序开发 VS 网页开发
- 网页开发中的渲染线程和脚本线程是互斥的,长时间的监本运行可能会导致页面失去响应
- 网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行DOM选中和操作
- 在小程序中,页面渲染和业务逻辑是分开的,分别运行在不同的线程中
- 逻辑层运行在JSCore 中,并没有一个完整浏览器对象,因而缺少相关的 DOM API 和 BOM API
- 因此熟悉的一些库,例如 Query、Zepto等,在小程序中是无法运行的
- 同时 JSCore 的环境同 NodeJS 环境也是不完全相同的,所以一些 NPM 的包在小程序 中也是无法运行的
- 小程序的性能介于
纯网页开发
和原生 (native)
开发之间
- 2.4、小程序的运行环境
- 2.5、小程序 VS APP
- 安装使用
- 小程序:无声安装、无需卸载、简单易用、占用内存较小
- APP:需要主动联网下载安装APP、不想用了需要主动卸载
- 开发
- 小程序:跨平台、开发门槛低、开发周期短、开发成本低
- APP:开发成本高、每一个平台都要维护一套代码(目前也有ReactiveNative、Flutter等夸平台方案)
- 发布上线
- 小程序:提交到微信公众平台审核
- APP:提交到对应的应用商店(Apple 的 App Store 常有审核不通过的情况,审核周期长)
- 其他:小程序用户体验、功能丰富度、开放性不如APP
三、微信小程序的一些链接
- 3.1、微信小程序相关链接**
- 3.2、开源项目
*
四、注册微信小程序**
4.3、注册完会有一个小程序的 AppID(唯一标识)
4.4、新建项目
4.5、开发文档
4.6、对 JS 代码的断点调试
- 断点调试1:在需要调试的地方加一行
debugger
代码
断点调试2:在对应的 [sm]
文件中打断点调试([sm]
文件是 Source Map
处理之后的文件)
断点调试3:下图中的index.js
并没有 [sm]
后缀,但也是 Source Map
处理后的文件
4.7、目录结构
- 小程序主要包含 1 个描述整体程序的 app 和多个描述各自界面的 page
- app 部分由 3 个文件组成,必须放在项目的根目录(文件名固定)
1 个页面由 4 个文件组成(这 4 个文件必须有相同的路径和文件名)
4.8、尺寸单位
- rpx(responsive pixel):可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx;如在 iPhone6 上,屏幕的宽度为 375px,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素
官方建议:开发微信小程序时设计师可以使用 iPhone6 作为视觉稿的标准