热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

跨终端Web

移动互联网不可阻挡地进入了我们的生活。作者将自己在百度和天猫期间的跨终端Web的开发实践转化为书中的技术方案和实现,呈现给各位读者。第1章提出了跨终端Web的概念以及实现跨终端We

跨终端 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


推荐阅读
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 在最近的项目中,我们广泛使用了Qt框架的网络库,过程中遇到了一些挑战和问题。本文旨在记录这些经验和解决方案,以便日后参考。鉴于我们的客户端GUI完全基于Qt开发,我们期望利用其强大的网络功能进行Fiddler网络数据包的捕获与分析,以提升开发效率和应用性能。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • NOIP2000的单词接龙问题与常见的成语接龙游戏有异曲同工之妙。题目要求在给定的一组单词中,从指定的起始字母开始,构建最长的“单词链”。每个单词在链中最多可出现两次。本文将详细解析该题目的解法,并分享学习过程中的心得体会。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • 二分查找算法详解与应用分析:本文深入探讨了二分查找算法的实现细节及其在实际问题中的应用。通过定义 `binary_search` 函数,详细介绍了算法的逻辑流程,包括初始化上下界、循环条件以及中间值的计算方法。此外,还讨论了该算法的时间复杂度和空间复杂度,并提供了多个应用场景示例,帮助读者更好地理解和掌握这一高效查找技术。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
author-avatar
低調浮華
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有