具体描述
本书合并了O’Reilly出版的《HTML5 Geolocation》与《HTML5:等轴实时游戏开发》两本书的内容。第一部分介绍了HTML5 Geolocation API。使用这种API,开发人员不必针对特定设备编程,就能够在浏览器中直接编写地理定位应用。这部分共6章,介绍了Geolocation API在浏览器代码中的使用,并通过大量示例向读者展示其“一次编写,随处部署”的特点。具体内容包括地理定位的基础知识简介,这套API的浏览器支持情况,以及如何利用它和其他常用地图工具在网页中实现类似Google地图的嵌入式地图。
这一部分的主要内容还有:
根据设备的不同,从各种来源收集地理信息
探索地理坐标系统,包括大地测量系统和基准点
使用Geolocation API,以JavaScript代码从用户的浏览器中取得位置信息
使用Google地图或基于JavaScript 的ArcGIS API将位置信息显示在地图上
使用数据库、KML文件和Shapefile保存地理信息
熟悉地理数据的实际用途,包括地理营销、地理社交、地理标签和地理应用
第二部分介绍了用HTML5、CSS3和JavaScript开发等轴实时游戏。任何沉迷过Zynga的《开心农场》的玩家都享受过这类游戏的乐趣,本书展示了如何设计并开发这类游戏,涵盖了只使用开源工具来实现项目的全过程。你将通过详细的示例和代码,学会绘制图形、使用精灵、添加声音和验证数据以防作弊。
我们最后会用这部分介绍的所有技术完成一个《旅游胜地》游戏,并将它连接到社交网络上。如果你会用HTML5、CSS3和JavaScript,那就可以准备开始了!
这一部分的主要内容如下:
使用HTML5的画布(canvas)元素和精灵创建流畅的动画
创建高性能的等轴网格区块
设计同时适用于桌面设备和移动设备的游戏界面
使用HTML的音频(audio)元素为游戏添加声音
用Web Workers实现游戏中的路径查找功能
用PHP和MySQL实现客户端数据模型
使用动态CSS3对象让游戏更有活力
作者简介
本书作者Anthony T. Holdener III具有十几年的Web开发经验,现在使用Esri ArcGIS JavaScript API、Google Maps JavaScript API和Bing Maps API构建GIS Web应用。自从圣路易斯大学计算机科学专业毕业后,他一直从事Web架构师、开发人员、经理或者辅助老师等工作。
目录信息
HTML5 Geolocation
前言 3
第1章 路在何方 9
1.1 地理定位的历史 11
1.1.1 公元前的地理定位 11
1.1.2 探险技术 11
1.1.3 20世纪的定位 13
1.2 GPS的民用化 14
1.3 今天的地理定位 15
1.4 基本知识 15
1.5 定位方法 16
1.5.1 GPS 17
1.5.2 IP地址 18
1.5.3 GSM/CDMACellID 19
1.5.4 Wi-Fi和蓝牙的MAC地址 20
1.6 位置与基于位置的服务 20
1.7 今天的地理定位 21
1.7.1 手机应用 21
1.7.2 增强现实应用 24
第2章 地理定位:不仅是经纬度 27
2.1 坐标系统 29
2.2 大地测量系统与基准点 32
2.2.1 地球的形状 32
2.2.2 公共基准 33
2.2.3 地图投影 35
2.3 高度、路线与速度 35
2.3.1 大地高度 36
2.3.2 路线 37
2.3.3 速度 37
2.4 精确度 38
第3章 地理定位API编程 39
3.1 W3CGeolocationAPI 41
3.1.1 当前的API支持情况 41
3.1.2 其他浏览器的解决方案 42
3.2 功能更完备的W3CGeolocationAPI 44
3.3 Geolocation对象 45
3.4 取得用户位置 46
3.4.1 PositionOptions 46
3.4.2 缓存的位置信息 47
3.5 更新用户位置 48
3.5.1 不需要轮询 49
3.5.2 清除监视操作 49
3.6 处理成功的请求 50
3.6.1 Position对象 50
3.6.2 Coordinates对象 50
3.7 处理请求返回的错误 53
3.8 隐私问题 55
第4章 地理定位和地图API 57
4.1 Google地图示例 59
4.1.1 GoogleMapsAPI简介 59
4.1.2 向Google地图中添加地理定位 63
4.2 ArcGISJavaScriptAPI的例子 70
4.2.1 ArcGISJavaScriptAPI简介 70
4.2.2 向Esri地图中添加地理定位 73
第5章 保存地理信息 81
5.1 KML 83
5.2 Shapefile 86
5.3 数据库 89
5.3.1 SDE 89
5.3.2 PostGIS 90
5.3.3 MySQL 90
第6章 基于地理定位开发应用 93
6.1 地理营销 96
6.1.1 特价与新品 96
6.1.2 众包 96
6.1.3 特殊化 97
6.2 地理社交 98
6.2.1 持续增长 98
6.2.2 自动签到 99
6.2.3 双向数据 99
6.3 地理标签 100
6.3.1 数字媒体与地理标签 100
6.3.2 隐私与地理标签 100
6.4 地理应用 101
6.4.1 安全/跟踪 101
6.4.2 打车 101
6.4.3 搜索 102
6.4.4 移动商务 102
6.4.5 其他应用 102
6.5 HTML5与地理定位 102
6.5.1 辅助LBS的Web应用 103
6.5.2 基于Web的LBS 110
HTML5:等轴实时游戏开发
前言 113
第1章 图形基础:画布与精灵 119
1.1 使用canvas对象 121
1.2 创建平滑的动画 129
1.3 使用精灵 133
1.4 操作像素 138
1.5 为图像选择渲染方法 149
第2章 理解等轴游戏 163
第3章 游戏界面设计 181
3.1 Web游戏中的GUI设计和交互 183
3.2 实现GUI 185
第4章 HTML5声音及处理优化 201
4.1 通过audio元素添加声音 203
4.2 用WebWorkersAPI执行大计算量任务 213
4.3 本地存储和会话存储 221
第5章 推向市场 227
5.1 预防作弊及服务器端工作 229
5.2 通往最终游戏的路 235
5.3 对游戏作最后修饰 248
5.4 使用Facebook添加社交功能 254
· · · · · · (收起)
读后感
用户评价
这本书的价值在于它提供了一种更宏大、更具前瞻性的视角来看待Web应用开发。它没有随波逐流去追逐最新的前端框架热点,而是将焦点重新拉回到浏览器这个平台本身所能提供的极限能力上。其中关于地理定位API(Geolocation API)的安全性和隐私保护的讨论非常深刻,作者提醒我们,在利用这些强大的设备能力时,开发者所肩负的责任是什么,这在如今这个注重用户隐私的时代显得尤为重要。读完整本书后,我发现自己对Web平台的理解不再是零散的API点,而是一个相互关联的生态系统。它解答了我过去很多关于“为什么有些应用感觉很流畅,而我的应用却卡顿”的疑惑,这些疑惑的根源往往就在于对浏览器原生能力的理解深度不够。对于那些想跳出框架的舒适区,真正掌握Web底层运行机制,从而构建出下一代互联网体验的工程师们,这本书无疑是一张通往更深层次技术的门票。
我必须承认,一开始我对这类技术书籍抱有很高的期望,但读完这本《深入HTML5应用开发》后,我的失望程度可能跟我的期待值一样高——当然是正面的惊喜!这本书最大的亮点在于其内容的深度和广度达到了一个近乎完美的平衡。它没有陷入那种只关注最新框架特性的“浮躁”,而是坚定地将重心放在了HTML5核心API的精细打磨上。我尤其关注了其中关于媒体处理和设备集成的那部分。作者对WebRTC的讲解细致入微,不仅涵盖了信令服务器的搭建思路,还对ICE/STUN/TURN协议在穿越NAT时的作用进行了清晰的图示说明,这一点在很多同类书籍中是难以见到的深度。阅读过程中,我感觉自己像是在跟随一位经验丰富的前辈进行一对一的深度辅导,每一个代码示例都经过了精心设计,力求展示API的最佳实践,而非仅仅是跑通示例。对于那些已经熟练使用React或Vue,但总感觉应用性能“差一口气”的资深开发者来说,这本书能帮你找到那个隐藏在框架之下的、真正决定应用体验的底层优化点。
这本书的排版和阅读体验也值得称赞。在技术书籍领域,清晰的逻辑结构和易读性往往是决定一本“好书”和“工具书”的关键区别。作者似乎非常理解读者的阅读习惯,章节之间的过渡自然流畅,不会让人感到突兀。例如,当讲到Canvas 2D上下文的性能优化时,它不是生硬地插入几个参数调整,而是先从图形渲染管线的角度解释了浏览器内部的工作机制,然后顺理成章地引出如何通过减少重绘区域、使用`offscreen canvas`等策略来提升帧率。这种自上而下的叙事方式,极大地降低了理解复杂图形编程的门槛。我甚至发现,我不再需要频繁地跳回到前几章去查找定义,因为作者在首次引入关键概念时,就已经做好了充分的铺垫。对于需要长时间集中精力攻克技术难点的读者来说,这种连贯性是至关重要的,它能让你的思维流不被打断,从而更高效地吸收知识。
这本书简直是为那些渴望从入门小白蜕变为前端大牛的开发者量身定做的!我特别欣赏作者在讲解复杂概念时所展现出的那种化繁为简的功力。比如,对于很多初学者望而生畏的Web Workers和IndexedDB,作者并没有仅仅停留在API的罗列上,而是深入剖析了它们在实际应用中解决性能瓶颈的场景。读到关于离线应用架构设计的那一章时,我仿佛置身于一个虚拟的编程工作室,作者拿着手术刀般精准的讲解,将数据同步、版本控制等棘手问题层层剥开,直至核心逻辑清晰可见。特别是书中关于如何利用Service Workers实现渐进式增强(Progressive Enhancement)的实战案例,让我对构建现代、健壮的Web应用有了全新的认识。它不只是教你“怎么做”,更重要的是教你“为什么这么做”,这种底层逻辑的梳理,远比零散的技巧堆砌更有价值。对于任何想要在前端领域深耕,尤其是想吃透Web平台原生能力,构建高性能、高可用性应用的工程师来说,这本书绝对是案头必备的工具书,翻阅率极高,每次都能带来新的启发。
对于我这种偏爱“动手实践”胜于“理论灌输”的开发者来说,这本书的实战导向让我眼前一亮。它并不是那种纯理论的教科书,而是充满了可复制、可修改、可用于生产环境的模板代码。我特别喜欢它在描述Web存储方案时所采用的对比分析法——将`localStorage`、`sessionStorage`、以及更高级的`IndexedDB`在容量、异步性、事务支持等维度进行多角度的量化对比。这种对比不仅仅是口头上的描述,而是通过实际的性能测试数据来支撑论点的。当我按照书中的指引,重构了我正在负责的一个大型应用的数据缓存层时,性能指标的提升是立竿见影的。这本书真正做到了“授人以渔”,它教会我如何根据不同的业务场景,像选择工具箱里的不同工具一样,精准地选择最合适的HTML5 API。那种“我不仅学会了这个API,更学会了如何选择和应用它”的感觉,是任何速成教程都无法给予的。
大致浏览了一遍,主要想看地图那部分,比较细致,从历史开始讲,配合大量代码,但实际上也没那么多东西可讲的……想了解相关知识,翻看一下就好
水分太多,不值得名为【深入】。一个小时看了一半,啥内容也没有,价格也真贵。
介绍LBS地理地位应用,以及html等轴游戏。
大致浏览了一遍,主要想看地图那部分,比较细致,从历史开始讲,配合大量代码,但实际上也没那么多东西可讲的……想了解相关知识,翻看一下就好
介绍LBS地理地位应用,以及html等轴游戏。