几乎所有的APP都有搜索功能,做APP发的团队几乎都会对搜索功能的实现有需求。不同的APP对搜索功能的要求不一样,在搜索功能落地过程中,遇到的具体问题也不一样。百度资深移动端搜索专家、15年搜索架构师撰写的这本书,从架构角度展,对APP从出现到成长为可支持亿级用户的超级APP的完整实现过程和相关技术行深度揭秘。书中不仅包括搜索功能的实现过程、方法,以及所涉及的核心技术和指标,还包括APP优化、迭代并成长为超级APP的方法。难能可贵的是,作者把自己在百度10余年做搜索的经验经过近2年的提炼,完美融合到了本书中。
售 价:¥
纸质售价:¥74.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前折页
书名页
前言
基础篇
第1章 搜索客户端的发展与价值
1.1 从我在百度的工作经历看搜索客户端架构演进
1.1.1 从零构建搜索客户端App
1.1.2 Ding:优化移动端搜索的高频搜索需求
1.1.3 搜索+浏览双框架:优化移动端搜索过程的体验
1.1.4 搜索结果NA化:优化移动端搜索结果浏览体验
1.1.5 搜索异步化:优化搜索核心指标
1.1.6 多容器管理:突破单浏览内核的限制
1.1.7 变体发布:多App复用搜索能力
1.1.8 小结
1.2 移动操作系统级的搜索能力支持
1.2.1 iOS系统搜索能力
1.2.2 Android系统搜索能力
1.2.3 小结
1.3 App中的搜索功能建设
1.3.1 京东App中的搜索功能
1.3.2 微信App中的搜索功能
1.3.3 快手App中的搜索功能
1.3.4 有道词典App中的搜索功能
1.3.5 招商银行App中的搜索功能
1.3.6 夸克浏览器App中的搜索功能
1.3.7 小结
第2章 搜索客户端基础技术
2.1 搜索全流程的3个核心场景
2.2 需求输入场景及技术实现
2.2.1 多线程技术
2.2.2 网络请求
2.2.3 搜索建议的数据处理
2.3 结果页场景及技术实现
2.3.1 数据持久化存取
2.3.2 URL携带搜索关键字
2.3.3 结果页的分类及加载
2.4 落地页场景及技术实现
2.4.1 落地页功能扩展
2.4.2 落地页与结果页的切换管理
2.5 移动客户端研发注意事项
2.5.1 移动客户端与PC应用研发的区别
2.5.2 移动客户端与云端服务研发的区别
2.6 设计一份可落地的技术方案
2.6.1 技术方案的辅助决策点评估
2.6.2 技术方案优先处理原则
第3章 搜索客户端基础服务
3.1 搜索客户端协同的服务分类
3.1.1 客户端运行时对接的服务
3.1.2 搜索业务对接的服务
3.2 从客户端的角度看搜索服务端架构
3.2.1 内容的产生
3.2.2 内容的去重
3.2.3 内容的存储
3.2.4 内容的检索
3.2.5 搜索结果的产品化封装
3.2.6 搜索过程客户端与服务端协作流程
3.3 自有搜索客户端对搜索服务优化的支持
高级篇
第4章 搜索客户端中并行化响应输入的实现
4.1 并行化响应用户输入的意义
4.1.1 搜索是强依赖输入的业务
4.1.2 App可并行化响应用户输入的价值
4.2 输入过程并行化任务的分类
4.3 文本输入搜索过程的并行化任务与支持
4.3.1 接收用户的文本输入
4.3.2 处理用户的文本输入
4.3.3 响应用户的文本输入
4.3.4 文本输入过程并行化模型
4.4 语音输入搜索过程的并行化任务与支持
4.4.1 接收用户的语音输入
4.4.2 处理用户的语音输入
4.4.3 响应用户的语音输入
4.4.4 语音输入过程并行化模型
4.5 图像输入搜索过程的并行化任务与支持
4.5.1 接收用户的图像输入
4.5.2 处理用户的图像输入
4.5.3 响应用户的图像输入
4.5.4 图像输入的业务流程支持
4.5.5 图像输入的服务依赖保障
4.5.6 图像输入过程并行化模型
4.6 网页浏览过程的多进程模型
4.6.1 Networking进程
4.6.2 WebContent进程
4.6.3 UI进程简介
4.7 并行化实现的3个条件
第5章 设计可扩展网页能力的搜索客户端架构
5.1 搜索客户端实现网页能力扩展的意义
5.1.1 基本概念及互通模型
5.1.2 搜索客户端支持网页扩展及互通的价值
5.2 使用基础API支持网页浏览
5.2.1 请求加载新页面
5.2.2 同步网页加载状态
5.2.3 管理网页加载状态
5.2.4 切换页面浏览历史
5.2.5 响应页面浏览滑动事件
5.2.6 定制手势响应快捷指令
5.2.7 关联规则过滤网页内容
5.3 定义数据通路标准扩展网页能力
5.3.1 关联Custom URL scheme实现URL调用
5.3.2 通过JS实现NA功能与网页对话
5.3.3 接管网络请求实现数据互通
5.3.4 同步Cookie变化实现状态统一
5.4 NA与网页互通的能力总览
5.4.1 网页加载过程互通
5.4.2 网页浏览交互互通
5.4.3 网页数据通信互通
5.5 管理多种浏览内核共存
5.5.1 针对多种浏览内核的约束
5.5.2 以系统浏览内核为基点进行扩展
5.6 以插件的形式扩展网页功能
5.6.1 网页场景插件化模型
5.6.2 功能插件管理、调用及事件响应
5.6.3 网页场景使用插件管理框架
第6章 设计场景容器化的搜索客户端架构
6.1 构建多容器管理机制的意义
6.1.1 单浏览内核管理框架面临的挑战
6.1.2 构建多容器管理机制的必要性
6.2 多容器管理框架的核心能力及收益
6.2.1 多容器管理框架核心能力对齐
6.2.2 多容器管理框架核心能力模型
6.2.3 多容器管理框架的收益预估
6.3 框架升级潜在风险及解决
6.3.1 并行研发的影响
6.3.2 Web生态标准的兼容
6.3.3 页面加载速度指标劣化
6.4 容器生命周期管理能力建设
6.4.1 抽象容器的基本生命周期事件
6.4.2 统一容器生成入口和数据结构
6.4.3 资源消耗和收益的平衡
6.4.4 小结
6.5 容器的展现及事件管理能力建设
6.5.1 容器的视图展现管理
6.5.2 容器的视图生命周期事件管理
6.5.3 容器及框架的手势事件管理
6.5.4 小结
6.6 容器的浏览历史管理能力建设
6.6.1 容器浏览历史的操作
6.6.2 容器浏览历史条目的存储
6.6.3 小结
6.7 多容器管理框架的应用
6.7.1 容器接入多容器管理框架
6.7.2 打开新页面时的框架处理逻辑
6.7.3 页面历史切换及优先级处理逻辑
6.7.4 容器的销毁与恢复逻辑
6.8 网页加载性能指标优化
6.8.1 通过预创建容器优化容器创建的耗时
6.8.2 通过预加载优化静态资源加载耗时
6.8.3 通过实现预渲染优化页面整体耗时
6.8.4 小结
第7章 设计可定制安全策略的搜索客户端架构
7.1 搜索客户端可定制安全策略的意义
7.1.1 移动生态和法律法规中的安全相关标准
7.1.2 客户端是产品提供服务的第一层
7.1.3 客户端具备实时发现及干预安全问题的条件
7.2 网络通信安全保障
7.2.1 域名解析安全问题及解决方法
7.2.2 数据传输安全问题及解决方法
7.2.3 网络安全的技术架构支持
7.3 网页浏览安全防护
7.3.1 网页内容安全问题及解决方法
7.3.2 网页互通安全问题及解决方法
7.3.3 网页浏览安全的技术架构支持
7.4 自有服务安全共建
7.4.1 识别自有客户端并实现差异化服务
7.4.2 关键请求不可重放
7.4.3 安全策略要尽早推进
7.5 用户信息安全保护
7.5.1 历史数据的读取与技术实现建议
7.5.2 实时数据的读取与技术实现建议
7.5.3 用户信息安全的技术实现原则
7.6 技术复用安全管理
7.6.1 第三方技术引进安全评估
7.6.2 自研技术输出安全定制
第8章 设计可持续优化指标的搜索客户端架构
8.1 客户端指标可持续优化的意义
8.2 客户端常见指标简介
8.2.1 安装包体积指标及优化
8.2.2 启动速度指标及优化
8.2.3 加载速度指标及优化
8.2.4 白屏率指标及优化
8.2.5 卡顿率指标及优化
8.2.6 崩溃率指标及优化
8.2.7 磁盘空间指标及优化
8.2.8 通用业务指标及优化
8.3 客户端指标优化基础能力构建
8.3.1 分组样本设定能力的构建
8.3.2 数据收集能力的构建
8.4 客户端指标优化方法及应用
8.4.1 制定标准
8.4.2 指标建设
8.4.3 数据收集
8.4.4 数据分析
8.4.5 指标优化
8.4.6 指标评估
8.4.7 指标监控
第9章 设计可统一管理网络通信的搜索客户端架构
9.1 网络通信可统一管理的意义
9.2 网络通信优化的实际应用价值
9.2.1 语音搜索的网络通信管理
9.2.2 网页场景功能的网络通信管理
9.3 浏览内核的网络通路实现与功能扩展管理
9.3.1 浏览内核的网络请求拦截
9.3.2 网络通路的工作流程
9.3.3 网络通路中的功能扩展管理
9.4 统一管理网络通信及分层设计
9.4.1 系统层的职责与边界
9.4.2 桥接层的职责与边界
9.4.3 支持层的职责与边界
9.4.4 调度层的职责与边界
9.4.5 接口层的职责与边界
9.5 业务实现层的网络能力隔离
9.5.1 依赖浏览内核构建的业务实现分层
9.5.2 不依赖浏览内核构建的业务实现分层
第10章 设计可支持移动端AI预测的搜索客户端架构
10.1 客户端可支持移动端AI预测的意义
10.1.1 基本概念及关系
10.1.2 编程方式的演进:从传统编程到人工智能
10.1.3 客户端使用移动端AI预测与服务端AI预测的对比
10.2 客户端支持移动端AI预测的挑战
10.3 模型管理框架实现
10.3.1 模型管理服务端支持
10.3.2 模型管理框架客户端实现
10.3.3 模型管理框架的应用示例
10.4 特征管理框架实现
10.4.1 特征分类及框架依赖
10.4.2 特征复用及框架支持
10.4.3 特征缓存及框架支持
10.4.4 特征收集及框架支持
10.4.5 特征管理框架应用示例
10.5 移动端AI预测技术支持框架的应用
10.5.1 构建新业务时的支持
10.5.2 优化已有业务的支持
第11章 设计可变体发布的搜索客户端架构
11.1 App支持可变体发布的意义
11.1.1 初识矩阵App
11.1.2 App支持变体发布的价值
11.2 App支持变体发布的前置依赖
11.2.1 基础概念及关系
11.2.2 模块级复用与App级复用
11.2.3 矩阵App复用主线App的方式
11.3 变体发布的核心技术问题及解决
11.3.1 控制反转服务
11.3.2 组件的裁剪支持
11.3.3 组件的修改支持
11.4 搜索业务可变体发布的技术框架支持
11.4.1 典型搜索业务特征和技术架构
11.4.2 服务动态化
11.4.3 场景容器化
11.4.4 功能插件化
11.4.5 端云一体化输出
11.4.6 小结
11.5 模块拆分与变体发布支持
11.5.1 模块的分级及约束
11.5.2 模块拆分的决策依据
11.5.3 组件标准化输出
11.6 主线App支持变体发布要遵循的原则
11.6.1 接口稳定原则
11.6.2 最小接口公开原则
11.6.3 有序依赖原则
11.6.4 无无用依赖原则
11.6.5 无隐式依赖原则
11.6.6 无传递依赖原则
11.6.7 无循环依赖原则
11.6.8 命名唯一原则
11.6.9 配置项归属唯一原则
11.6.10 资源归属唯一原则
第12章 设计可支持质效提升的搜索客户端架构
12.1 架构与研发质效的关系
12.1.1 我对研发质效的理解
12.1.2 我对架构目标的理解
12.1.3 我看到的架构对质效的影响
12.2 提升研发过程的效率
12.2.1 子系统独立迭代
12.2.2 业务可脱机调试
12.2.3 任务自动化执行支持
12.2.4 流程自动化工具建设
12.3 降低异常产生的概率
12.3.1 降低内部因素产生的异常
12.3.2 降低外部因素产生的异常
12.4 降低异常产生的影响
12.4.1 发现异常的能力的构建
12.4.2 解决异常的能力的构建
12.4.3 降低异常概率/影响的设计思路
个人成长篇
第13章 设计自己的架构优化之路
13.1 快速融入团队的7个因素
13.2 实现有效交付的7个节点
13.3 持续优化技术架构的7个思维方式
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜