编辑推荐
APICould作为中国知名的移动云平台和企业移动化定制服务平台,同时服务于App开发人员和具有移动化定制需求的企业。APICould移动开发技术具有开发效率高、开发投入少、技术门槛低等优势,提供与管理API是其特有的服务模式。在APICloud开发平台上,现已积累了大量成熟的App功能模块,以方便开发人员一键调用。迄今为止,已有超过60万的用户在学习并传播APICloud移动开发技术。
内容简介
本书围绕APICloud平台,全面、系统、细致地讲述了App开发的相关内容,涉及平台工作原理、内部实现机制和应用开发技巧。本书涵盖了APICloud应用开发的知识,包括基础知识、关键技术、开发技巧和行业方案,并从实践角度出发,通过大量的实例代码、详细的操作步骤和丰富的开发截图,帮助开发人员迅速掌握APICloud应用开发,有能力制作出好的App。本书是APICloud开发人员的入门指南,并配有免费的讲解视频,适合各种层次的APICloud学习者和开发人员阅读。
作者简介
邹达 APICloud联合创始人兼CTOAPICloud云端一体平台的技术架构设计者及核心引擎的实现者,对大规模、高并发的云端服务开发有着丰富的经验。杰出的JavaScript全栈工程师,有十多年浏览器引擎及移动应用引擎开发经验,先后参与过靠前外多款浏览器引擎、JavaScript引擎和移动应用引擎的开发工作。同时也是混合模式开发技术的倡导者,是靠前较早一批将Web与Native技术融合的实践者。李德兴 APICloud技术负责人一直从事浏览器、JavaScript引擎及相关中间件技术的工作,参与过多个基于浏览器的移动中间件引擎的开发工作。精通Android操作系统,有丰富的App架构及开发经验。热爱新技术,熟悉HTML5和W3C规范,对HTML5和浏览器技术的实际应用有深入研究并付诸过大量实践。
目录
- 第一部分 基础教程:如何从零起步开发*款App
- 第1章 APICloud App开发流程 3
- 1.1 APICloud平台介绍 4
- 1.1.1 查看APICloud平台能力 4
- 1.1.2 开发模式、技术语言和平台定位 6
- 1.1.3 技术、产品、生态、案例和商业模式 10
- 1.1.4 *发者服务体系 10
- 1.1.5 新手入门APICloud应用开发 14
- 1.2 体验完整项目的开发流程 15
- 1.2.1 注册APICloud账号 15
- 1.2.2 创建一个App项目 15
- 1.2.3 编辑项目 18
- 1.2.4 调试项目 18
- 1.2.5 编译项目 21
- 1.3 小结 22
- 第 2章 搭建App整体框架,完成App静态页面开发 23
- 2.1 启动 25
- 2.1.1 APICloud App执行流程 25
- 2.1.2 Widget和Window 26
- 2.1.3 App config.xml配置文件使用 26
- 2.1.4 APICloud引擎的两个重要事件 27
- 2.2 APICloud应用设计思想 27
- 2.3 界面和导航 28
- 2.3.1 APICloud应用的UI组成结构 28
- 2.3.2 APICloud界面布局5大组件 29
- 2.3.3 APICloud混合渲染模式 30
- 2.3.4 查看APICloud引擎api对象功能 32
- 2.3.5 屏幕适配 33
- 2.3.6 前端框架 33
- 2.3.7 状态栏处理 34
- 2.3.8 iPhone X的状态栏处理 35
- 2.3.9 优化点击事件和tapmode 37
- 2.3.10 静态页面中建议遵循的布局方法 37
- 2.4 搭建App整体框架,完成App静态页面开发 38
- 2.4.1 创建首页的标题栏和Tab标签组 38
- 2.4.2 制作Tab页面并添加点击事件和动画效果 43
- 2.4.3 制作悬浮购物车信息栏 48
- 2.4.4 跳转到登录页面 51
- 2.4.5 城市选择菜单和事件通信 52
- 2.5 小结 55
- 第3章 联调前后端数据接口,实现App数据从服务端动态获取 56
- 3.1 APICloud提供的数据通信能力和相关API 57
- 3.1.1 APICloud支持的通信协议 57
- 3.1.2 用于HTTP通信的主要API 57
- 3.2 APICloud数据云 58
- 3.2.1 APICloud数据云的用途 58
- 3.2.2 APICloud数据云的特点 58
- 3.3 联调前后端数据接口,实现App数据从服务端动态获取 59
- 3.3.1 实现用户注册功能 59
- 3.3.2 实现用户登录功能 60
- 3.3.3 获取商品列表数据 62
- 3.3.4 显示商品列表 63
- 3.4 小结 64
- 第4章 加载更新服务端数据,实现本地的数据存储 65
- 4.1 使用doT模板引擎 66
- 4.2 本地存储和图片缓存 67
- 4.2.1 uzStorage 67
- 4.2.2 偏好设置 67
- 4.2.3 文件 68
- 4.2.4 database 69
- 4.2.5 存储容量 69
- 4.2.6 沙箱机制 70
- 4.2.7 资源访问协议 70
- 4.2.8 图片缓存 71
- 4.3 下拉刷新、上拉加载的实现 71
- 4.3.1 下拉刷新 72
- 4.3.2 上拉加载 72
- 4.4 事件机制 72
- 4.4.1 统一事件管理 72
- 4.4.2 事件管理API 73
- 4.4.3 平台事件类型 74
- 4.5 常用对话框窗口 75
- 4.6 在指定的窗口中执行脚本 76
- 4.7 加载更新服务端数据,实现本地的数据存储 77
- 4.7.1 使用doT模板引擎显示商品列表 77
- 4.7.2 实现图片缓存 78
- 4.7.3 实现下拉刷新 79
- 4.7.4 实现上拉加载更多 81
- 4.7.5 实现保存登录信息 82
- 4.7.6 实现清除缓存 84
- 4.8 小结 85
- 第5章 使用扩展模块API,完成App所需功能实现 86
- 5.1 APICloud扩展模块 87
- 5.1.1 APICloud端引擎架构 87
- 5.1.2 APICloud模块调用过程 88
- 5.2 自定义模块 88
- 5.3 使用UIScrollPicture 89
- 5.4 使用UIInput 91
- 5.5 使用UIActionSelector 92
- 5.6 多媒体相关模块使用 96
- 5.7 使用扩展模块API,实现App所需功能 96
- 5.7.1 实现商品详情页轮播图 96
- 5.7.2 使用UIInput实现原生输入框 100
- 5.7.3 实现三级联动的城市选择器 101
- 5.7.4 实现头像上传 103
- 5.8 小结 105
- 第6章 使用第三方开放服务模块,完善App功能和业务逻辑 106
- 6.1 集成第三方服务 107
- 6.2 目前APICloud已经集成的第三方服务模块 107
- 6.3 自定义AppLoader 108
- 6.3.1 自定义AppLoader与官方AppLoader的区别 108
- 6.3.2 为什么要使用自定义AppLoader 109
- 6.3.3 编译生成自定义AppLoader 109
- 6.4 第三方服务模块使用流程 110
- 6.5 百度地图模块的接入和使用 110
- 6.5.1 申请应用ID和Key 110
- 6.5.2 配置ID和Key 112
- 6.5.3 百度地图的常用API 112
- 6.6 微信分享与登录的接入和使用 114
- 6.6.1 申请ID和Key 114
- 6.6.2 配置ID和Key 114
- 6.6.3 微信分享模块的常用API 114
- 6.7 个推推送的接入和使用 117
- 6.7.1 申请ID和Key 117
- 6.7.2 配置ID和Key 117
- 6.7.3 个推模块的常用方法 117
- 6.8 支付宝支付模块的接入和使用 118
- 6.8.1 申请应用ID和Key 118
- 6.8.2 配置应用ID和Key 118
- 6.8.3 支付宝模块的常用API 119
- 6.9 使用第三方开放服务模块,完善App功能和业务逻辑 119
- 6.9.1 获取当前城市 119
- 6.9.2 根据输入内容检索地址列表 121
- 6.9.3 使用个推进行消息推送 123
- 6.10 小结 124
- 第7章 使用APICloud应用管理服务,实现App发布和运营 125
- 7.1 编译生成App安装包 126
- 7.1.1 云编译 126
- 7.1.2 代码全包加密 127
- 7.1.3 扩展API调用安全配置 127
- 7.2 版本管理 128
- 7.2.1 在APICloud控制台管理版本 128
- 7.2.2 Config文件相关配置 129
- 7.2.3 mam模块 129
- 7.3 云修复 130
- 7.3.1 Config文件相关配置和mam模块 130
- 7.3.2 制作并发布云修复包 130
- 7.3.3 相关API使用 131
- 7.4 闪屏广告 131
- 7.4.1 在APICloud控制台使用闪屏广告 132
- 7.4.2 相关API使用 132
- 7.5 优化策略 133
- 7.5.1 了解HTML5特性 133
- 7.5.2 窗口结构 133
- 7.5.3 页面加载速度 134
- 7.5.4 不用重型框架 134
- 7.5.5 屏幕适配 134
- 7.5.6 数据加载 134
- 7.5.7 图片处理 135
- 7.5.8 交互响应速度 135
- 7.5.9 尊重系统特性 135
- 7.6 编码规范 135
- 7.7 Widget管理 136
- 7.7.1 多Widget架构 136
- 7.7.2 主Widget 137
- 7.7.3 子Widget 137
- 7.7.4 Widget管理相关API使用 137
- 7.8 SuperWebView 138
- 7.8.1 SuperWebView介绍 138
- 7.8.2 SuperWebView特点 138
- 7.9 使用APICloud应用管理服务,实现App的发布和运营管理 138
- 7.9.1 编译App 139
- 7.9.2 版本发布 139
- 7.9.3 使用云修复 139
- 7.9.4 闪屏广告 140
- 7.10 小结 140
- *二部分 实战技巧:如何开发*款优质的App
- 第8章 如何与众不同 143
- 8.1 自定义样式的日期选择器 144
- 8.1.1 使用模块UICustomPicker 144
- 8.1.2 开发流程及要点概述 145
- 8.2 自动义样式的三级联动城市选择器 149
- 8.2.1 使用模块:UILinkedPicker 150
- 8.2.2 开发流程及要点概述 150
- 8.3 实现固定不动的下拉筛选菜单 152
- 8.4 滑动页面动态改变导航条颜色 155
- 8.4.1 实现思路 155
- 8.4.2 知识点说明 155
- 8.4.3 核心部分代码 155
- 8.5 实现高斯模糊的背景图片 156
- 8.6 精致0.5 px细线的实现 158
- 8.7 小结 159
- 第9章 挖掘API潜力 160
- 9.1 深入挖掘Frame的各种应用场景 161
- 9.1.1 模拟页面按钮 161
- 9.1.2 模拟窗口组件 161
- 9.1.3 模拟侧滑窗口 163
- 9.2 使用UIScrollPicture模块开发引导页 164
- 9.2.1 概述 165
- 9.2.2 实现思路 165
- 9.3 使用photoBrowser模块实现自定义样式的图片浏览功能 167
- 9.3.1 概述 167
- 9.3.2 自定义样式图片浏览器功能实现步骤 168
- 9.4 使用UIInput模块实现自定义搜索界面 170
- 9.4.1 概述 170
- 9.4.2 自定义搜索界面实现步骤 170
- 9.5 使用UIChatBox模块实现聊天界面 172
- 9.5.1 概述 172
- 9.5.2 UIChatBox 模块实现聊天界面实现步骤 173
- 9.6 使用api.ajax进行网络请求 176
- 9.7 小结 179
- 第 10章 超级实用技巧 180
- 10.1 如何让页面动态适配有虚拟按键栏的Android手机 181
- 10.2 获取手机验证码功能的实现 182
- 10.3 打开一个外部链接作为新的页面,并设置样式以及事件监听 184
- 10.4 实现更换皮肤功能 186
- 10.5 实现多语言切换功能 187
- 10.6 调用任意App 189
- 10.6.1 URL Scheme应用场景 189
- 10.6.2 URL Scheme在APICloud中的应用 189
- 10.7 数据表格的快速开发 191
- 10.7.1 使用APICloud模块实现数据表格的开发 192
- 10.7.2 使用第三方JavaScript框架实现数据表格的开发 193
- 10.8 apiready与window.onload的平衡使用 194
- 10.8.1 apiready与window.onload区别 194
- 10.8.2 apiready与window.onload的使用时机 194
- 10.8.3 应用实例 195
- 10.9 地图模块的实用扩展:在地图上添加自定义按钮 196
- 10.10 地图搜索的*级应用:如何获取城市地铁线路列表 198
- 10.10.1 需求分解 198
- 10.10.2 功能实现 198
- 10.11 极光推送的快速实现 200
- 10.11.1 获取App包名 200
- 10.11.2 获取极光推送AppKey 201
- 10.11.3 配置极光推送模块 202
- 10.11.4 在代码中监听推送消息 202
- 10.11.5 开始推送 203
- 10.12 小结 204
- 第 11章 性能优化探索 205
- 11.1 用imageCache缓存图片 206
- 11.2 数据不要从DOM上获取 208
- 11.3 流畅的用户登录体验 210
- 11.3.1 程序员的思维习惯 210
- 11.3.2 正确的做法 211
- 11.3.3 关键代码实现 211
- 11.4 合理使用同步/异步接口 212
- 11.4.1 JavaScript的同步/异步机制 212
- 11.4.2 异步的优势 213
- 11.4.3 应用实例 214
- 11.5 小结 215
- 第 12章 调试技巧 216
- 12.1 调试技巧:使用Charles查看网络请求 217
- 12.1.1 查看HTTP请求 217
- 12.1.2 查看HTTPS请求 219
- 12.2 调试技巧:使用Charles模拟网络请求 222
- 12.2.1 请求示例代码 222
- 12.2.2 构建模拟数据 223
- 12.2.3 使用本地文件作为接口返回值 224
- 12.3 调试技巧:使用Safari断点调试iOS应用 226
- 12.3.1 从APICloud官网编译安装自定义AppLoader 226
- 12.3.2 显示桌面Safari浏览器的“开发”菜单 226
- 12.3.3 开启iOS设备的Web检查器功能 226
- 12.3.4 把待调试代码同步到AppLoader 227
- 12.3.5 Safari断点调试iOS应用 228
- 12.4 调试技巧:使用Chrome断点调试Android应用 229
- 12.4.1 从APICloud官网安装AppLoader 230
- 12.4.2 在Android手机上开启USB调试 231
- 12.4.3 把待调试代码同步到AppLoader 231
- 12.4.4 在Chrome中断点调试 232
- 12.5 小结 235
- 第三部分 行业应用:如何快速开发主流行业App
- 第 13章 如何快速开发*款IoT App 239
- 13.1 IoT App的分类和功能 240
- 13.1.1 IoT App的分类 240
- 13.1.2 IoT App的主要功能 240
- 13.2 IoT App的技术架构 241
- 13.2.1 两方通信架构 241
- 13.2.2 三方通信架构 241
- 13.2.3 四方通信架构 242
- 13.3 IoT App中高频使用的API 243
- 13.3.1 界面组件类模块 243
- 13.3.2 功能扩展类模块 244
- 13.3.3 开放服务类模块 245
- 13.4 如何使用APICloud开发*款IoT App 246
- 13.5 小结 246
- 第 14章 如何快速开发*款教育App 247
- 14.1 教育App的分类和功能 248
- 14.1.1 教育App的分类 248
- 14.1.2 教育 App的主要功能 248
- 14.2 教育App的产品架构 249
- 14.2.1 产品功能架构 249
- 14.2.2 学习计划架构 250
- 14.3 教育App中高频使用的API 250
- 14.3.1 UI组件类模块 250
- 14.3.2 功能扩展类模块 251
- 14.3.3 开放服务类模块 252
- 14.4 如何使用APICloud开发*款教育App 253
- 14.5 小结 253
- 第 15章 如何快速开发*款直播App 254
- 15.1 直播App的分类和功能 255
- 15.1.1 直播App的分类 255
- 15.1.2 直播App的主要功能 255
- 15.2 直播App技术架构 256
- 15.3 直播App中高频使用的API 256
- 15.3.1 UI组件类模块 257
- 15.3.2 功能扩展类模块 258
- 15.3.3 开放服务类模块 258
- 15.4 如何使用APICloud开发*款直播App 259
- 15.5 小结 260
- 第 16章 如何快速开发*款电商App 261
- 16.1 电商App的分类和功能 262
- 16.1.1 电商App的分类 262
- 16.1.2 电商 App的主要功能 263
- 16.2 电商App的产品结构 263
- 16.2.1 前端产品结构 263
- 16.2.2 后台产品结构 264
- 16.3 电商App中高频使用的API 265
- 16.3.1 UI组件类模块 265
- 16.3.2 功能扩展类模块 266
- 16.3.3 开放服务类模块 267
- 16.4 如何使用APICloud开发*款电商App 267
- 16.5 小结 268
- 附录A APICloud App客户端开发规范(Version 1.0) 269
- 附录B 开发工具APICloud Studio 2使用详解 282