欢迎光临
我们一直在努力

小程序开发指南-完整版-无私奉献出来,值得一看

 

猛戳这里下载

自2017年1月9日危险小程序低调上线后,在普通民众中间几乎没有引发太多的波澜,只是在开发者中引起了一阵的鸡血。直到今天,随着小程序越来越火,我觉得有必要为大家分享一本书,这本书是微信开发团队写的一本书,希望对大家有益。

使用规范和版权声明


1. 此教程文档为腾讯公司微信团队所撰写,供学习小程序开发技术所用。微信团队享有此文档的全部知识产权,包括但不限于进行修改、复制、发行、表演、展览、信息网络传播、改编、翻译、汇编等权利。
2. 用户可以根据学习需求,来阅读使用本文档。任何个人或机构如需转载此文档,或要将此文档的内容以多媒体的形式进行改编或创作,必须注明源文档出处:“开发教程源文档来自微信团队”。
未经许可,任何个人或机构请勿擅自对文档的内容进行修改,微信团队保留对文档的最终解释权。
3. 微信团队有权根据互联网和微信产品的发展、相关法律法规及规范性文件的规定,不断修改和完善文档的相关内容,用户可以在相关页面查阅最新版本的文档。
版权所有,侵权必究
微信团队

目录


使用规范和版权声明…………………………………………………………………………………………………………….1
本书说明………………………………………………………………………………………………………………………………2
目录……………………………………………………………………………………………………………………………………..3
第1 章小程序介绍与开发环境…………………………………………………………………………………………..10
1.1 小程序介绍………………………………………………………………………………………………………………10
1.1.1 小程序技术发展历史…………………………………………………………………………………………10
1.1.2 小程序与普通网页开发的区别…………………………………………………………………………..12
1.2 小程序的特色…………………………………………………………………………………………………………..13
1.3 小程序开发准备……………………………………………………………………………………………………….14
1.3.1 申请AppID……………………………………………………………………………………………………….14
1.3.2 安装开发者工具………………………………………………………………………………………………..15
1.3.3 第一个小程序……………………………………………………………………………………………………17
1.4 本章小结………………………………………………………………………………………………………………….19
第2 章小程序代码组成……………………………………………………………………………………………………..20
2.1 JSON 配置……………………………………………………………………………………………………………… 20
2.1.1 一个例子…………………………………………………………………………………………………………..20
2.1.2 JSON 语法………………………………………………………………………………………………………. 21
2.2 WXML 模板…………………………………………………………………………………………………………… 24
2.2.1 介绍………………………………………………………………………………………………………………….24
2.2.2 数据绑定…………………………………………………………………………………………………………..26
2.2.3 逻辑语法…………………………………………………………………………………………………………..29
2.2.4 条件逻辑…………………………………………………………………………………………………………..30
2.2.5 列表渲染…………………………………………………………………………………………………………..30
2.2.6 模板………………………………………………………………………………………………………………….34
2.2.7 引用………………………………………………………………………………………………………………….36
2.2.8 共同属性…………………………………………………………………………………………………………..37
2.3 WXSS 样式……………………………………………………………………………………………………………..38
2.3.1 文件组成…………………………………………………………………………………………………………..39
2.3.2 尺寸单位…………………………………………………………………………………………………………..40
2.3.3 WXSS 引用……………………………………………………………………………………………………….41
2.3.4 内联样式…………………………………………………………………………………………………………..42
2.3.5 选择器………………………………………………………………………………………………………………43
2.3.6 官方样式库……………………………………………………………………………………………………….44
2.4 JavaScript 脚本……………………………………………………………………………………………………….. 46
2.4.1 ECMAScript………………………………………………………………………………………………………46
2.4.2 小程序的执行环境…………………………………………………………………………………………….48
2.4.3 模块化………………………………………………………………………………………………………………49
2.4.4 脚本的执行顺序………………………………………………………………………………………………..50
2.4.5 作用域………………………………………………………………………………………………………………53
2.5 本章小结………………………………………………………………………………………………………………….54
第3 章理解小程序宿主环境………………………………………………………………………………………………55
3.1 渲染层和逻辑层……………………………………………………………………………………………………….55
3.1.1 渲染“Hello World”页面………………………………………………………………………………………55
3.1.2 通信模型…………………………………………………………………………………………………………..56
3.1.3 数据驱动…………………………………………………………………………………………………………..57
3.1.4 双进程下的界面渲染…………………………………………………………………………………………59
3.2 程序与页面………………………………………………………………………………………………………………59
3.2.1 程序………………………………………………………………………………………………………………….59
3.2.2 页面………………………………………………………………………………………………………………….63
3.3 组件…………………………………………………………………………………………………………………………72
3.4 API…………………………………………………………………………………………………………………………. 74
3.5 事件…………………………………………………………………………………………………………………………75
3.5.1 什么是事件……………………………………………………………………………………………………….75
3.5.2 事件类型和事件对象…………………………………………………………………………………………77
3.5.3 事件绑定与冒泡捕获…………………………………………………………………………………………79
3.6 兼容…………………………………………………………………………………………………………………………81
3.7 本章小结………………………………………………………………………………………………………………….83
第4 章场景应用………………………………………………………………………………………………………………..84
4.1 开发流程基本介绍……………………………………………………………………………………………………84
4.2 基本的布局方法——Flex 布局………………………………………………………………………………….85
4.2.1 基本概念……………………………………………………………………………………………………………..86
4.2.2 容器属性……………………………………………………………………………………………………………..88
4.2.3 项目属性……………………………………………………………………………………………………………..94
4.3 界面常见的交互反馈………………………………………………………………………………………………100
4.3.1 触摸反馈…………………………………………………………………………………………………………100
4.3.2 Toast 和模态对话框………………………………………………………………………………………… 103
4.3.3 界面滚动…………………………………………………………………………………………………………105
4.4 发起HTTPS 网络通信…………………………………………………………………………………………….107
4.4.1 wx.request 接口………………………………………………………………………………………………. 107
4.4.2 服务器接口……………………………………………………………………………………………………..108
4.4.3 请求参数…………………………………………………………………………………………………………108
4.4.4 收到回包………………………………………………………………………………………………………… 110
4.4.5 一般使用技巧…………………………………………………………………………………………………. 111
4.4.6 排查异常的方法……………………………………………………………………………………………… 112
4.5 微信登录……………………………………………………………………………………………………………….. 113
4.1.1 获取微信登录凭证code………………………………………………………………………………….. 114
4.5.1 发送code 到开发者服务器……………………………………………………………………………… 115
4.5.2 到微信服务器换取微信用户身份id………………………………………………………………….116
4.5.3 绑定微信用户身份id 和业务用户身份……………………………………………………………..117
4.5.4 业务登录凭证SessionId………………………………………………………………………………….. 117
4.6 本地数据缓存………………………………………………………………………………………………………… 118
4.6.1 读写本地数据缓存………………………………………………………………………………………….. 118
4.6.2 缓存限制和隔离………………………………………………………………………………………………120
4.6.3 利用本地缓存提前渲染界面…………………………………………………………………………….120
4.6.4 缓存用户登录态SessionId………………………………………………………………………………. 122
4.7 设备能力………………………………………………………………………………………………………………..124
4.7.1 利用微信扫码能力…………………………………………………………………………………………..125
4.7.2 获取网络状态………………………………………………………………………………………………….125
4.8 本章小结………………………………………………………………………………………………………………..127
第5 章小程序的协同工作和发布……………………………………………………………………………………..128
5.1 协同工作………………………………………………………………………………………………………………..128
5.1.1 人员组织结构和权限分配………………………………………………………………………………..128
5.1.2 小程序的版本………………………………………………………………………………………………….130
5.2 用户体验审视…………………………………………………………………………………………………………131
5.2.1 产品和运营思路………………………………………………………………………………………………131
5.2.2 体验和设计评估………………………………………………………………………………………………132
5.2.3 用户体验测试和完善体验………………………………………………………………………………..137
5.3 发布……………………………………………………………………………………………………………………….138
5.3.1 发布前最后的检查…………………………………………………………………………………………..138
5.3.2 发布模式…………………………………………………………………………………………………………138
5.3.3 小程序码…………………………………………………………………………………………………………139
5.4 运营……………………………………………………………………………………………………………………….139
5.4.1 数据分析…………………………………………………………………………………………………………140
5.4.2 运维中心…………………………………………………………………………………………………………142
5.4.3 微信开发者社区………………………………………………………………………………………………142
5.5 本章小结………………………………………………………………………………………………………………..143
第6 章底层框架………………………………………………………………………………………………………………145
6.1 双线程模型…………………………………………………………………………………………………………….145
6.1.1 技术选型…………………………………………………………………………………………………………145
6.1.2 管控与安全……………………………………………………………………………………………………..147
6.1.3 天生的延时……………………………………………………………………………………………………..148
6.2 组件系统………………………………………………………………………………………………………………..149
6.2.1 Exparser 框架…………………………………………………………………………………………………..149
6.2.2 内置组件…………………………………………………………………………………………………………150
6.2.3 自定义组件……………………………………………………………………………………………………..150
6.3 原生组件………………………………………………………………………………………………………………..154
6.3.1 原生组件运行机制…………………………………………………………………………………………..154
6.3.2 原生组件渲染限制…………………………………………………………………………………………..157
6.4 小程序与客户端通信原理……………………………………………………………………………………….158
6.4.1 视图层组件……………………………………………………………………………………………………..158
6.4.2 逻辑层接口……………………………………………………………………………………………………..158
6.5 本章小结………………………………………………………………………………………………………………..158
第7 章性能优化………………………………………………………………………………………………………………160
7.1 启动……………………………………………………………………………………………………………………….160
7.1.1 代码包下载……………………………………………………………………………………………………..161
7.1.2 分包加载流程………………………………………………………………………………………………….162
7.1.3 代码包加载……………………………………………………………………………………………………..163
7.2 页面层级准备…………………………………………………………………………………………………………164
7.3 数据通信………………………………………………………………………………………………………………..166
7.3.1 页面初始数据通信…………………………………………………………………………………………..166
7.3.2 更新数据通信………………………………………………………………………………………………….167
7.3.3 用户事件通信………………………………………………………………………………………………….168
7.4 视图层渲染…………………………………………………………………………………………………………….169
7.4.1 初始渲染…………………………………………………………………………………………………………169
7.4.2 重渲染…………………………………………………………………………………………………………….171
7.5 原生组件通信…………………………………………………………………………………………………………171
7.6 本章小结………………………………………………………………………………………………………………..172
第8 章小程序基础库的更新迭代……………………………………………………………………………………..174
8.1 小程序基础库…………………………………………………………………………………………………………174
8.1.1 基础库载入时机………………………………………………………………………………………………174
8.1.2 基础库的版本号………………………………………………………………………………………………175
8.2 异常……………………………………………………………………………………………………………………….177
8.2.1 JS 运行异常……………………………………………………………………………………………………. 177
8.2.2 捕捉JS 异常的方法………………………………………………………………………………………… 178
8.3 基础库的更新…………………………………………………………………………………………………………180
8.3.1 基础库版本变动………………………………………………………………………………………………180
8.3.2 推送基础库过程………………………………………………………………………………………………181
8.4 本章小结………………………………………………………………………………………………………………..181
第9 章微信开发者工具……………………………………………………………………………………………………182
9.1 简介……………………………………………………………………………………………………………………….182
9.2 代码编译………………………………………………………………………………………………………………..183
9.2.1 编译WXML…………………………………………………………………………………………………… 183
9.2.2 编译WXSS……………………………………………………………………………………………………..185
9.2.3 编译JavaScript……………………………………………………………………………………………….. 186
9.3 模拟器……………………………………………………………………………………………………………………187
9.3.2 逻辑层模拟……………………………………………………………………………………………………..188
9.3.3 渲染层模拟……………………………………………………………………………………………………..191
9.3.4 客户端模拟……………………………………………………………………………………………………..191
9.3.5 通讯模拟…………………………………………………………………………………………………………191
9.4 调试器……………………………………………………………………………………………………………………192
9.5 本章小结………………………………………………………………………………………………………………..195

赞(5) 打赏
未经允许不得转载:前端范 » 小程序开发指南-完整版-无私奉献出来,值得一看
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

更专业 更方便

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏