跨终端 Web
跨终端 Web(移动优先|响应式|HTML5|Hybrid|桌面+移动应用|一线前端负责人联袂推荐)
徐凯 著
ISBN 978-7-121-23345-6
2014年6月出版
定价:55.00元
240页
16开
编辑推荐
√聚焦开创性话题,完整呈现与详尽剖析这一突破终端碎片化难局的解决方案
√鬼道及团队倾力打造,三大电商前端技术掌门及一线互联网高工赞誉力推
√跨越手机、平板、桌面和电视等不同终端在呈现本质与商业模式上的差异,强调业务本质和核心人机交互流程
√面向未来人机交互,学会如何选择响应式Web、服务端响应式Web、多个URL Web,Hybrid或Native应用
√融合Web页面和客户端应用,用一套数据多个高品质低成本呈现的移动优先思想来变革前端开发方式、架构和发布机制
√从天猫实际业务场景出发,覆盖大量已经一线实践检验的技术、思路、方法、流程和先进经验
内容提要
移动互联网不可阻挡地进入了我们的生活。作者将自己在百度和天猫期间的跨终端Web的开发实践转化为书中的技术方案和实现,呈现给各位读者。第1章提出了跨终端Web的概念以及实现跨终端Web的多重途径,第2章主要介绍Mobile Web的技术基础,第3~7章是全书的核心,按照开发流程组织逐步讲解了实现跨终端Web所需要的各类技术基础设施,第8章主要介绍了Hybrid App的发展历程、实现细节以及成熟的框架,第9章介绍的跨终端存储方案(Storage)是作者曾经的冠军作品,第10章完整介绍了如何通过脚本录制和回放来实现跨终端动作同步。
《跨终端 Web》讲解深入浅出,通畅易懂,适合有一定PC Web基础,希望迅速了解Mobile Web,致力于PC和Mobile Web技术融合的读者。
目录
1 跨终端Web 1
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
作者简介
鬼道(原名徐凯),2011年毕业于同济大学计算机系,模式识别方向硕士研究生。曾就职百度,现为天猫前端通用组技术Leader。曾获得2011年百度最佳新人、2013年天猫技术部最佳新人、2013年天猫最佳小二(成长)。
2013年10月,凭借跨终端跨域存储组件Storage获得阿里“2013 Kissy Gallery组件大赛”冠军。
本书源于2013年7月在D2上的主题分享“移动优先的跨终端Web”,2013年11月在W3CTECH 2013做了第二次分享。
就职天猫期间(2013年至今)带领团队完成了天猫工具栏项目并在2013年“双十一”取得4倍于目标的成绩,工具栏也成为电商站点模仿的热点。
就职百度期间(2011年至2013年)带领前端团队先后完成了全平台(Web/Android/iOS)移动广告SDK及其业务站点、移动富媒体广告SDK、移动统计SDK及业务站点、移动云测试中心(Alpha 版本)等工作。
新浪微博: @鬼道-徐凯
媒体评论
支付宝前端负责人玉伯(王保平)
这是一本从天猫的实际业务场景出发,经过点滴积累、持久坚持而写就的书。书中的内容有可能很快会过时,但作者面对问题时的思考方式、解决问题后的总结习惯永不过时。书中的思考,值得每一位程序员学习并实践。
----------------------------------------------
天猫前端负责人三七(鄢学鲲)
现在人和人最大的共同点也许就是都拥有一部智能移动终端,浏览器的大量使用催生了前端工程师职业的出现,智能移动终端的爆炸式普及会推动前端工程师规模的超几何级增长和综合技能的革命性升级。前端工程师要从“兼容多浏览器 + ajax”走入到“跨终端 + 前后端分离”时代,这本书就是开始。
----------------------------------------------
淘宝前端负责人小马(赵泽欣)
这两年我的工作重心全都放在跨终端领域。我坚定的认为:在跨终端时代,无论是产品设计与运营,还是技术架构和开发模式,都将发生重大的变革。所有Web开发人员即将面临(或者说已然面临)新的挑战。尤其对前端工程师而言,会是一次升级的良机。我建议所有的前端工程师马上开始关注这个领域。
----------------------------------------------
百度前端高工李玉北
鬼道同学从自身的项目经历出发,总结了跨终端Web开发中遇到的问题,并给出对应的最佳实践的解决方案,值得从事相关工作的同学去参考和借鉴。
前言
移动互联网不可阻挡地进入了我们的生活。笔者将自己在百度和天猫期间的跨终端Web的开发实践转化为书中的技术方案和实现,呈现给各位读者。
本书大纲来自于笔者2013年7月在D2上的主题分享“移动优先的跨终端Web”,2013年11月W3CTECH 2013上做了第二次分享。
面向对象
本书适合有一定PC Web基础,希望迅速了解Mobile Web,致力于PC和Mobile Web技术融合的读者。
本书的第1章、第3章、第5章面向所有的读者,即使您对Web技术毫无了解,仍可以顺利阅读下来。本书其他章节假定您对PC Web前端技术已经有所了解,知道HTML、CSS、JavaScript这些名词的含义,并且动手写过一个页面。
章节简介
第1章阐述了移动互联网的现状和遇到的问题,提出了跨终端Web的概念以及实现跨终端Web的多重途径,破除了“唯Media Query论”,并引入移动移先的概念,丰富跨终端Web的内核。
第2章从对比PC Web的角度介绍了Mobile Web的技术基础,并对远程调试、兼容性等开发问题做了详尽的阐述。
第3~7章是全书的核心,按照开发流程组织,逐步讲解了实现跨终端Web所需要的各类技术基础设施,包括:
基准,给出了调试和测试过程中的基准,确定调试和测试的范围。
检测,探讨如何构造一个为全站服务的终端属性检测工具。
接口,探索实现流程复用的途径及端到端的接口规范(IF)。
定位,分别介绍了基于Hash和基于History API的跨终端定位方案。
预览,介绍了实现跨终端预览的方案,并给出一个简化的实现。
第8章介绍了Hybrid App的发展历程、实现细节以及成熟的框架,并详细分析了以传感器为核心的Device API。
第9章的跨终端存储方案(Storage)是笔者参加“2013 Kissy Gallery组件大赛”时的冠军作品。
第10章完整介绍了如何通过脚本录制和回放来实现跨终端动作同步。

跨终端 Web的更多相关文章
- 转: 跨终端Web之Hybrid App
转: http://www.infoq.com/cn/articles/hybrid-app 编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大 ...
- 跨终端Web之Hybrid App
Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid).Hybrid并不是什么新概念,最早可以追溯到S ...
- 单纯觉得是篇好文——跨终端Web之Hybrid App
[reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...
- 初识跨终端Web
近期试读了<跨终端Web>这本书的部分章节,既为了拿到书,也为了记录下读后的收获的东西,这会是个非常好的习惯吧. 标题为"初识跨终端Web".对我来说最贴切了,在此之前 ...
- 《跨终端Web》读书笔记
跨终端的Web成为了趋势,而这本书就是讲了在这种趋势下进行开发的常见问题及其解决方案,可能是限于篇幅,每个方面都没有展开细说,但这是这样让本书干货满满,几乎没有一句废话. 下面是一些笔记. Web的本 ...
- 跨终端Web
1.终端vs设备 H5页面运行在同一设备的不同终端下. (1)Web浏览器. (2)微信.QQ浏览器. (3)移动App的Webview. (4)TV机顶盒. 2.跨终端的实现方式 (1)响应式 存在 ...
- 浅谈移动优先的跨终端Web 解决方案
1.基准 我们定义测试基准和开发基准,也就是说我们定义我们在哪些浏览器上去进行调试. 左侧图主要是定义PC上的基准,其中A级项目中必须支持,B级可选,C级观察. 2.检测 主要是终端检测 这是一张架构 ...
- [已读]跨终端web
13年去听阿里技术嘉年华,鬼道分享了<移动优先前端产品的探索>.今年我买这本书,事实上是被高大上的目录吸引→ → 买来后发现,嘿,似曾相识啊,但还是老老实实得花一下午把书翻了一遍.翻完之后 ...
- linux系统可执行文件添加环境变量使其跨终端和目录执行
在命令行终端输入:echo $PATH 回车可打印出PATH变量对应的路径 现有一可执行文件qtFirstC,文件所在目录为:/home/lolors/qtFirstC 此时test只能在此目录下运行 ...
随机推荐
- Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...
- X86上搭建交叉工具链,来给龙芯笔记本编译本地工具链(未完待续)
故事的背景是,我买了一台龙芯2F的笔记本来装B. 为什么说是装B呢?因为不但操作系统是Linux,而且CPU还是龙芯的. 一般人有这么酷的装备吗?简直是装B大圣啊. 这里一定要申明一点,本人不是IT技 ...
- 64位WIN7下安装MPICH2
1.首先,下载32位的MPICH2,(注意哦,是32位,不是64位) http://202.117.4.228/files/B117000000042632/www.mcs.anl.gov/resea ...
- Extjs的js函数
在Extjs内部使用函数的时候,由于我本身没有真正学过原生的js,所以对于一些函数的写法及用法很生疏,所以用起来很不方便,经常给自己弄出很多莫名其妙的bug, 比如当写了一个button,然后为其添加 ...
- json中$ref对象重复引用问题
FastJson提供了SerializerFeature.DisableCircularReferenceDetect这个序列化选项,用来关闭引用检测.关闭引用检测后,重复引用对象时就不会被$ref代 ...
- HTML5 简易转盘
这里我们使用两个Canvas进行转盘的绘画 canvas1用于绘画背景,Canvas2用于指针的转动: 把Canvas2背景设为透明并使用相对布局定位: #myCanvas2{ position: a ...
- Failed to load JavaHL Library.
以前使用的电脑是32位的,安装的svn可以正常使用,但是现在的电脑室64位的,安装好svn后,把项目提交到svn的过程中,总是弹出来一个错误的对话框: Failed to load JavaHL Li ...
- 让你的Android程序更省电
app主要耗电的原因如下: 1 cpu频繁的运转 -----控制线程 2 大数据量的传输----- 数据压缩传输 3 不停的在网络间切换------------判断网络状体 4 人开发的程序后台都 ...
- Anciroid的IPC机制-Binder概述
在Linux系统中,是以进程为单位分配和管理资源的.出于保护机制,一个进程不能直接访问另一个进程的资源,也就是说,进程之间互相封闭.但是,在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项 ...
- [.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现
一.引言 在前面一专题介绍到,要让缓存生效还需要实现对AOP(面向切面编程)的支持.所以本专题将介绍了网上书店案例中AOP的实现.关于AOP的概念,大家可以参考文章:http://www.cnblog ...