具体描述
移动互联网不可阻挡地进入了我们的生活。作者将自己在百度和天猫期间的跨终端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.1 终端VS.设备 1
1.2 一个贯穿全书的例子 2
1.3 后续章节 3
1.4 移动优先 4
1.4.1 移动流量暴增 4
1.4.2 聚焦业务本质 5
1.4.3 人机交互扩展 7
1.4.4 再说书名 8
1.5 不只是响应式 8
1.5.1 响应式 8
1.5.2 多站点 13
1.5.3 多模板 13
1.5.4 多平台 15
1.6 解决方案 16
2 Mobile Web 17
2.1 HTML5 18
2.2 HTML 19
2.2.1 移动页面模板 19
2.2.2 Viewport 21
2.2.3 touch-icon 26
2.2.4 其他 27
2.3 触屏事件 27
2.3.1 触屏事件一览 27
2.3.2 通用触屏事件 28
2.4 调试 31
2.4.1 远程调试 31
2.4.2 设备调试 43
2.5 兼容性 44
2.5.1 OS版本碎片化 44
2.5.2 国内的特殊情况 46
2.5.3 WebView 46
2.5.4 更多工具 46
2.6 文档 48
3 基准 51
3.1 GBS 51
3.2 MGBS 53
3.2.1 准备 53
3.2.2 操作系统分级 54
3.2.3 屏幕分辨率分级 65
3.2.4 浏览器分级 71
3.2.5 MGBS 73
3.3 GTE 75
3.3.1 分层设计 76
3.3.2 核心层 76
3.3.3 数据层 78
4 检测 81
4.1 终端 81
4.1.1 什么是终端 81
4.1.2 分类 82
4.2 终端检测 82
4.2.1 场景 82
4.2.2 原理 83
4.2.3 实现 85
4.3 遗留问题 86
4.3.1 硬件信息 86
4.3.2 更精准的终端检测 86
5 接口 87
5.1 跨终端流程复用 87
5.1.1 示例1 87
5.1.2 示例2 88
5.2 IF 89
5.2.1 始于一次重构 90
5.2.2 新的环境 95
5.2.3 模型 95
5.2.4 解决方案 96
5.2.5 架构 96
5.2.6 路线图 99
5.3 if-spec 2.0 102
5.3.1 JSON Schema 102
5.3.2 Demo 109
5.3.3 meta 113
5.3.4 if-spec 1.0 114
5.4 if-mock 2.0 116
5.5 if-guide 2.0 118
5.6 总结 122
6 定位 125
6.1 定位 126
6.1.1 Hash 126
6.1.2 History API 127
6.1.3 视图定位 129
6.2 数据 129
7 预览 131
7.1 客户端 132
7.2 服务端 133
7.3 示例 136
8 Hybrid App 139
8.1 Hybrid简史 139
8.1.1 背景 139
8.1.2 简史 140
8.1.3 现状 142
8.2 Hybrid技术 144
8.2.1 Native调用Web 144
8.2.2 Web调用Native 144
8.2.3 Bridge 146
8.3 Hybrid框架 150
8.3.1 PhoneGap 151
8.3.2 Titanium 152
8.4 Device API 153
8.4.1 动作传感器 156
8.4.2 环境传感器 158
8.4.3 音频 159
8.4.4 视频 160
8.5 小结 160
9 存储 161
9.1 状态持久化 162
9.2 技术方案 163
9.2.1 整体方案 163
9.2.2 跨终端存储方案 164
9.2.3 跨域通信方案 166
9.2.4 安全性 168
9.2.5 遗留问题 168
9.3 使用 168
9.3.1 实例化 169
9.3.2 set/get 169
9.3.3 remove/clear 170
9.3.4 推荐命名 170
10 动作同步 171
10.1 原理 171
10.1.1 案例 171
10.1.2 动作同步 172
10.2 实现 173
10.2.1 Selenium 173
10.2.2 脚本录制和回放 174
附录A GBS 183
附录B JSON Schema Core 189
附录C JSON Schema Validation 201
附录D if-spec 2.0 221
作者简介 225
· · · · · · (收起)
读后感
前端发展越来越迅速,像之前的跨浏览器已经不是我们的唯一了,一直比较迷惘对于跨终端应该怎么做,没什么方向感,也找不到一本合适的书,毕竟今后前端的大方向跨终端是必须的,无意间看到这本书抱着试试的心态买了,只能说真心不错,很有思想让我了解了很多也有了一个方向,感...
前端发展越来越迅速,像之前的跨浏览器已经不是我们的唯一了,一直比较迷惘对于跨终端应该怎么做,没什么方向感,也找不到一本合适的书,毕竟今后前端的大方向跨终端是必须的,无意间看到这本书抱着试试的心态买了,只能说真心不错,很有思想让我了解了很多也有了一个方向,感...
> 新书《跨终端 Web》6 月下旬发布以来卖出的数量已超过了笔者的预期。期间收到一些反馈,加之最近翻阅本书时又发现不少问题,所以整理出这么一篇。 一切始于笔者在 2013 年 7 月阿里技术嘉年华(ADC) D2 会场的演讲话题“移动优先的跨终端 Web”。会后博文视点编辑张春雨询...
期待这本书很久了〜 封面很喜欢,没有华而不实的感觉,而且很有科技感〜 内容相当丰富,都是各种经验之说,可谓前端开发攻城师进阶的福音呀〜 作者鬼道把跨终端的方案研究得如此透彻,并且把方案存在的风险问题也一一道来让我们得以参考,借鉴。让...
不多说,大部分书太多唧唧歪歪。相信看过这本书这本书的同学,都会感受到满满的干货。总体来说可圈可点,值得入一本,毕竟移动不比某些框架或者某端某语言,是真正的大势所趋。大部分同行小伙伴一定遇到过一样的问题,或者相同的诉求,如何提升效率并更大的实现商业价值也是工...
用户评价
这部书的文笔实在是太吸引人了,作者对于技术细节的把握精准到位,但又不失生动的叙述方式。我尤其欣赏书中对“用户体验”这个核心理念的深入探讨,它不仅仅是停留在表面的界面设计,而是贯穿了整个开发流程,从前端到后端的每一个环节都在强调如何为用户创造无缝的连接感。书中列举的那些经典案例,比如某个大型电商平台的“猜你喜欢”功能的演进过程,简直就是教科书级别的剖析,让我对如何构建一个真正以用户为中心的系统有了全新的认识。作者很巧妙地将复杂的架构设计,用非常形象的比喻进行了解释,即便是初次接触这些概念的读者,也能迅速抓住重点。读完之后,我感觉自己对于如何设计和实现一个“有温度”的软件产品,有了一种更为成熟和全面的理解,远超出了我原先对技术书籍的期待。
这本书最成功的地方在于,它成功地搭建了一座连接“概念”与“落地”之间的桥梁。市面上很多书籍要么过于概念化,读完后不知如何下手;要么过于偏重某一个框架或工具的API介绍,缺乏全局观。但这部作品却恰到好处地平衡了两者。我尤其欣赏它在描述某一技术选型时,会同时列举出至少三种不同技术路线的优缺点和适用场景,而不是强行推销某一种“最佳实践”。这使得读者在面临实际工程问题时,能够基于充分的信息进行独立、理性的判断,而不是盲目跟风。读完后,我感觉自己对如何构建一个面向未来的、可扩展的复杂系统,有了一种全新的、更加自信的认知框架。
这本书的结构编排非常新颖,它没有采用传统的“基础知识先行”的模式,而是从一个宏大的愿景入手,逐步拆解实现路径。我特别喜欢它在探讨“未来趋势”时的那种前瞻性,虽然有些论断可能现在看来还略显超前,但无疑为我们指明了未来的技术演进方向。书中对于“数据一致性”在分布式环境下的处理,提供了好几个创新性的解决方案,这些方案并非仅仅是理论推导,而是基于实际生产环境的复杂性所打磨出来的“艺术品”。每一次阅读,我都能发现一些新的闪光点,可能是某个注释里隐藏的工程智慧,也可能是一个未被广泛宣传的优秀设计模式。它更像是一本与行业顶尖思考者进行的深度对话记录。
我花了整整一个周末才啃完这本大部头,说实话,这本书的深度远超乎我的想象。它不是那种浮于表面的技术速查手册,而更像是一份详尽的工程实践指南。让我印象最深的是其中关于“性能瓶颈的排查与优化”那一章,作者简直是把调试工具的各种黑魔法都展示出来了,从浏览器渲染机制的底层原理,到服务器端的异步处理策略,条分缕析,逻辑清晰。我尝试按照书中的步骤去优化我们项目中的一个老旧模块,效果立竿见影,响应时间减少了近40%。这种直接能看到产出和回报的阅读体验,是很多技术书籍难以提供的。它要求读者有一定的基础,但回报绝对是巨大的,感觉像是给自己的技术栈打了一针强心剂,视野瞬间开阔了很多。
坦白说,这本书的阅读体验非常“硬核”,对读者的耐心和专注力是极大的考验。它没有刻意去迎合初学者,很多篇幅都在探讨极端情况下的鲁棒性设计。例如,书中花了大量篇幅讨论了网络分区容错(P-A-C 理论的实践应用),以及在各种高并发场景下如何设计幂等操作,这些内容对于我这种已经工作了几年、开始负责核心系统的人来说,简直是雪中送炭。作者的行文风格带着一种严谨的学者气质,每一个技术名词的引用都附带着详尽的出处或定义,让人不得不佩服其学术上的严谨态度。虽然偶尔会觉得枯燥,但一旦遇到实际问题翻开它,总能找到最可靠的“定海神针”。
移动web的确发展迅速,书里的很多数据、图表已经过时。这本书差强人意。
薄薄的参考书,不用一趟车就看完了。
技术方面涉及得还是比较初级, 感觉看了之后收获不大. 时间过去了一年, 可能这一年变化太多.
薄薄的参考书,不用一趟车就看完了。
移动web的确发展迅速,书里的很多数据、图表已经过时。这本书差强人意。