作品简介

移动互联网不可阻挡地进入了我们的生活。作者将自己在百度和天猫期间的跨终端Web的开发实践转化为书中的技术方案和实现,呈现给各位读者。第1章提出了跨终端Web的概念以及实现跨终端Web的多重途径,第2章主要介绍Mobile Web的技术基础,第3~7章是全书的核心,按照开发流程组织逐步讲解了实现跨终端Web所需要的各类技术基础设施,第8章主要介绍了Hybrid App的发展历程、实现细节以及成熟的框架,第9章介绍的跨终端存储方案(Storage)是作者曾经的冠军作品,第10章完整介绍了如何通过脚本录制和回放来实现跨终端动作同步。

鬼道(原名徐凯),2011年毕业于同济大学计算机科学与技术系,模式识别方向硕士研究生。现就职于天猫,先后负责天猫跨终端Web的业务推进和技术基础设施建设、天猫前端会员营销组。目前关注的领域是Mobile Web、PC Web和Native App的融合。

作品目录

  • 推荐序
  • 前言
  • 感谢
  • 1 跨终端Web
  • 1.1 终端VS.设备
  • 1.2 一个贯穿全书的例子
  • 1.3 后续章节
  • 1.4 移动优先
  • 1.4.1 移动流量暴增
  • 1.4.2 聚焦业务本质
  • 1.4.3 人机交互扩展
  • 1.4.4 再说书名
  • 1.5 不只是响应式
  • 1.5.1 响应式
  • 1.5.2 多站点
  • 1.5.3 多模板
  • 1.5.4 多平台
  • 1.6 解决方案
  • 2 Mobile Web
  • 2.1 HTML5
  • 2.2 HTML
  • 2.2.1 移动页面模板
  • 2.2.2 Viewport
  • 2.2.2.1 固定width
  • 2.2.2.2 动态载入
  • 2.2.2.3 更多
  • 2.2.3 touch-icon
  • 2.2.4 其他
  • 2.3 触屏事件
  • 2.3.1 触屏事件一览
  • 2.3.2 通用触屏事件
  • 2.4 调试
  • 2.4.1 远程调试
  • 2.4.1.1 Mobile Emulation
  • 2.4.1.2 iOS远程调试
  • 2.4.1.3 Android远程调试
  • 2.4.1.4 weinre
  • 2.4.1.5 HTTP代理服务器
  • 2.4.2 设备调试
  • 2.4.2.1 设备模拟器
  • 2.4.2.2 远程设备
  • 2.5 兼容性
  • 2.5.1 OS版本碎片化
  • 2.5.2 国内的特殊情况
  • 2.5.3 WebView
  • 2.5.4 更多工具
  • 2.6 文档
  • 3 基准
  • 3.1 GBS
  • 3.2 MGBS
  • 3.2.1 准备
  • 3.2.1.1 数据源
  • 3.2.1.2 MGBS中的级别
  • 3.2.2 操作系统分级
  • 3.2.2.1 Android版本分布
  • 3.2.2.2 iOS版本分布
  • 3.2.2.3 其他操作系统版本分布
  • 3.2.2.4 操作系统趋势
  • 3.2.2.5 操作系统分级
  • 3.2.3 屏幕分辨率分级
  • 3.2.3.1 Android屏幕分辨率
  • 3.2.3.2 iOS屏幕分辨率
  • 3.2.3.3 屏幕分辨率分级
  • 3.2.4 浏览器分级
  • 3.2.4.1 Android浏览器
  • 3.2.4.2 iOS浏览器
  • 3.2.4.3 浏览器分级
  • 3.2.5 MGBS
  • 3.2.5.1 基准落地
  • 3.2.5.2 遗留问题
  • 3.3 GTE
  • 3.3.1 分层设计
  • 3.3.2 核心层
  • 3.3.3 数据层
  • 4 检测
  • 4.1 终端
  • 4.1.1 什么是终端
  • 4.1.2 分类
  • 4.1.2.1 设备类型
  • 4.1.2.2 操作系统
  • 4.2 终端检测
  • 4.2.1 场景
  • 4.2.2 原理
  • 4.2.3 实现
  • 4.3 遗留问题
  • 4.3.1 硬件信息
  • 4.3.2 更精准的终端检测
  • 5 接口
  • 5.1 跨终端流程复用
  • 5.1.1 示例1
  • 5.1.2 示例2
  • 5.2 IF
  • 5.2.1 始于一次重构
  • 5.2.2 新的环境
  • 5.2.3 模型
  • 5.2.4 解决方案
  • 5.2.5 架构
  • 5.2.6 路线图
  • 5.3 if-spec 2.0
  • 5.3.1 JSON Schema
  • 5.3.1.1 示例
  • 5.3.1.2 Core
  • 5.3.1.3 Validation
  • 5.3.2 Demo
  • 5.3.2.1 简单Demo
  • 5.3.2.2 基本Demo
  • 5.3.2.3 高级Demo
  • 5.3.3 meta
  • 5.3.4 if-spec 1.0
  • 5.3.4.1 请求
  • 5.3.4.2 响应
  • 5.3.4.3 键集合
  • 5.3.4.4 值类型
  • 5.3.4.5 规则字段
  • 5.4 if-mock 2.0
  • 5.5 if-guide 2.0
  • 5.6 总结
  • 6 定位
  • 6.1 定位
  • 6.1.1 Hash
  • 6.1.2 History API
  • 6.1.3 视图定位
  • 6.2 数据
  • 7 预览
  • 7.1 客户端
  • 7.2 服务端
  • 7.3 示例
  • 8 Hybrid App
  • 8.1 Hybrid简史
  • 8.1.1 背景
  • 8.1.2 简史
  • 8.1.3 现状
  • 8.2 Hybrid技术
  • 8.2.1 Native调用Web
  • 8.2.2 Web调用Native
  • 8.2.2.1 Android
  • 8.2.2.2 iOS
  • 8.2.3 Bridge
  • 8.3 Hybrid框架
  • 8.3.1 PhoneGap
  • 8.3.1.1 PhoneGap和Cordova
  • 8.3.1.2 原理
  • 8.3.1.3 经典案例
  • 8.3.2 Titanium
  • 8.3.2.1 设计思路
  • 8.3.2.2 工作流程
  • 8.4 Device API
  • 8.4.1 动作传感器
  • 8.4.1.1 陀螺仪
  • 8.4.1.2 加速计
  • 8.4.1.3 距离传感器
  • 8.4.2 环境传感器
  • 8.4.3 音频
  • 8.4.4 视频
  • 8.5 小结
  • 9 存储
  • 9.1 状态持久化
  • 9.2 技术方案
  • 9.2.1 整体方案
  • 9.2.2 跨终端存储方案
  • 9.2.3 跨域通信方案
  • 9.2.3.1 异常处理
  • 9.2.3.2 IE 6/7兼容处理
  • 9.2.4 安全性
  • 9.2.5 遗留问题
  • 9.3 使用
  • 9.3.1 实例化
  • 9.3.2 set/get
  • 9.3.3 remove/clear
  • 9.3.4 推荐命名
  • 10 动作同步
  • 10.1 原理
  • 10.1.1 案例
  • 10.1.2 动作同步
  • 10.2 实现
  • 10.2.1 Selenium
  • 10.2.2 脚本录制和回放
  • 附录A GBS
  • 2.分级浏览器支持:What&Why
  • 3.“支持”的含义
  • 4.渐进式增强与优雅降级
  • 5.什么是支持的分级
  • 6.支持的3个级别
  • 附录D if-spec 2.0
  • 作者简介
展开全部