《HTML5移动开发》—— 第1章 学习移动HTML5、CSS3和Java Script API之前的准备工作

第1章 学习移动HTML5、CSS3和Java Script API之前的准备工作

HTML5移动开发
如果你跟我多少有点类似的话,你肯定已经痛恨旧版IE浏览器很多年了。那些浏览器满是失败。然而,它们在整个生命周期内在任何地方失败的方式是一样的[1]。我们都知道IE6非常糟糕,但是它糟糕的方式是一样的。一旦我们搞清楚了如何填IE6的坑(polyfill[2]),我们就已经把它搞清楚了。

在移动世界,我们同样面临一些问题,不同的是这些问题以一种更新、更多样化且不断变化的方式存在。在不同设备上的不同浏览器版本可能支持很多新的特性,但实现方式可能不同。或者说,它们可能确实支持某个特性,但是这个特性可能并用不了。举个例子,一个现代浏览器可能支持也可能不支持localStorage。支持localStorage的设备可能允许也可能不允许对其写入。即使浏览器允许从localStorage读取数据,但这个读取操作可能非常耗时从而阻碍了性能。并且,即使浏览器通常情况下允许你对其写入,但localStorage本身可能已经达到了存储上限。

我们在这里无法涵盖所有操作系统和设备上所有浏览器的全部非标准情况(quirk)。即使我了解所有的这些非标准情况(而且我也不了解),这些非标准情况可以装满一个大部头,并且在我完成这个大部头之前它就过期了。这本书呢,实际上也过期了。浏览器支持以及规范等周边环境都在不断发生变化。没有办法制作一本最新的书出来,因为到其交付印刷之际——或者甚至在你刚完成一章的时候——周边环境已经变了。虽然某些浏览器、特性、电话以及提到的网站可能已经过时了,但本书带出的最佳实践在未来几年还是有意义的。本书的一个指导原则是:如果你采用最佳实践,并且依照标准编写代码,你的代码将能够在当前及以后所有的设备上运行。

我把针对特性的浏览器支持包含在内了,而且也没有缺少针对浏览器特性的支持,因为所有的浏览器将沿着正确的方向前进正是大家所期望的。今天在浏览器中的那些非标准模式(quirk)明天也许就解决了。

基于以上原因,在使用一个特性时,你不仅确实要做特性检测,而且需要进行测试以确保能够成功地使用这些支持的特性。

本书将使用与设备、操作系统以及浏览器无关的标记并且不使用JavaScript类库。我选择不使用类库仅使用普通JavaScript进行编码以确保你学到真正的代码。通过使用普通JavaScript编码,希望就不会存在一个方法到底属于原生方法还是框架提供的方法这样的困惑了。

但这不意味着你不应该使用类库。恰恰相反!开源类库是弄清楚浏览器不标准情况的最佳选择之一。开源项目拥有成百上千甚至成千上万的贡献者。这些成千上万的贡献者们密切地在大量的设备上进行开发和测试,他们找出那些不标准的情况,报告问题,并且给类库提交修正来处理这些情况或者提供解决方法和腻子脚本。这成千上万双眼睛同时也在报告bug,提醒浏览器厂商注意那些没有遵循标准运行的东西,以便这些bug可以在浏览器后续发布中得以修正。

流行的开源类库和HTML5 JavaScript API腻子脚本是快速发现各种各样的浏览器不标准情况及其解决方案的最佳资源。它们应被视为你的开发工具箱中的一个重要组成部分。即使你不使用它们,也一定要阅读这些源码来学习别人已经发现了的那些移动浏览器的bug。

在你阅读HTML5、CSS3以及相关的JavaScript API时,学习的最佳方法就是编写代码。让我们开始编码吧。

时间: 2025-01-05 06:50:52

《HTML5移动开发》—— 第1章 学习移动HTML5、CSS3和Java Script API之前的准备工作的相关文章

java script-初学者,使用Java Script API开发一个网页需要多长时间?

问题描述 初学者,使用Java Script API开发一个网页需要多长时间? 网页开发初学者 基于百度地图JavaScript API开发一个类似新东方网站的网页,大概需要多长时间? 百度地图Java Scrip API : http://developer.baidu.com/map/index.php?title=首页 新东方网页:http://souke.xdf.cn/Campus.aspx 解决方案 熟悉百度javascript api 1-2天,只需要关注加载地图和标注这两个例子 新

HTML5移动应用开发第1章:用HTML5、地理定位API和Web服务来开发移动应用

HTML 5 是一项让人振奋的技术,这有着充分的理由.这将会是一次技术突破,因为它可以将桌面应用程序功能带入浏览器中.除了传统浏览器外,对于移动浏览器,其潜力甚至更大.不仅如此,最流行的移动浏览器甚至已经采用并实现了 HTML 5 规范中很多重要部分.在这个由五个部分组成的系列里,您将仔细了解 HTML 5 中的一些新技术,它们对移动 Web 应用程序开发具有重大影响.在本系列的每一部分中,您将动手开发一个展示 HTML 5 新特性的移动 Web 应用程序,这些特性可用于最新的移动 Web 浏览

《HTML5移动开发》—— 导读

前言 HTML5移动开发 我们将要学习如何开发移动Web应用.注意Web这个词,本书关注的是为移动设备(如Android.iPod.iPhone.BlackBerry和平板电脑)开发Web应用,而不是需要iOS或Android SDK进行的本地应用开发.本书讲解的知识与操作系统无关. 移动Web应用是使用了桌面Web应用的标记语言和可触控设备功能的网站或Web应用.Web应用无论是通过手机.平板电脑还是笔记本来访问,都是使用HMTL.CSS.JavaScript以及可选的图片.音视频资源和服务器

《HTML5 canvas开发详解(第2版)》——第1章 HTML5 Canvas简介1.1 什么是HTML5

第1章 HTML5 Canvas简介 HTML5是新一代的HTML,即超文本标记语言.HTML从1993年第一次标准化后,便奠定了万维网的基础.HTML通过使用将标签用尖括号(< >)括起来的方式定义Web页面内容. HTML5 Canvas是屏幕上的一个由JavaScript控制的即时模式位图区域.即时模式是指在画布上呈现像素的方式,HTML Canvas通过JavaScript调用Canvas API,在每一帧中完全重绘屏幕上的位图.作为一名程序员,所要做的就是在每一帧渲染之前设置屏幕的显

《HTML5移动应用开发入门经典》—— 第1章 使用HTML5改进移动Web应用的开发

第1章 使用HTML5改进移动Web应用的开发 HTML5移动应用开发入门经典 本章介绍如下内容: HTML问世后的发展及变化: HTML5在哪些方面与其他版本的HTML相一致: 什么是开放Web标准(Open Web Standard),以及它与HTML5之间的关系: 如何区分Web应用与典型的Web页面: 如何构造一个非常简单的HTML5 Web页面: 为何要在移动应用中使用HTML5. HTML5是HTML的最新版本,尽管在IE之类的桌面浏览器中,HTML5的应用还显得十分缓慢,但在移动设

《HTML5移动开发》—— 第2章 升级至HTML5

第2章 升级至HTML5 HTML5移动开发HTML5易学难精.没错,大多数的软件工程师.设计师甚至大批高中生都声称懂得 HTML,但是他们可能只了解很少的一些元素(element),而且可能这些元素的用法都不正确. 在本章,我们将介绍很多HTML5的分段(sectioning)元素.当你读完本章的时候,应该对HTML5的所有语义有一个很好的理解.我无法在三章的篇幅里向你传授HTML的所有内容.说实话,我自己还在继续学习HTML--而且不仅是因为HTML5仍是一个未完成的规范.由于规范尚未完成,

《HTML5 2D游戏编程核心技术》——第1章,第1.2节HTML5游戏开发最佳实践

本节书摘来自华章出版社<HTML5 2D游戏编程核心技术>一书中的第1章,第1.2节HTML5游戏开发最佳实践,作者[美] 戴维·吉尔里,更多章节内容可以访问"华章计算机"公众号查看. 1.2 HTML5游戏开发最佳实践 我们将在本书中持续地讨论一些关于游戏开发的最佳实践,首先介绍7个与HTML5有关的实践. 1)窗口失去焦点时暂停游戏. 2)窗口重新获得焦点时实现倒计时. 3)使用CSS实现UI特效. 4)对于运行缓慢的游戏做出检测和处理. 5)添加社交功能. 6)把所有

《Windows 8 开发权威指南:HTML5 和JavaScript卷》——第2章 HTML5 JavaScript概述以及新特性 2.1 HTML5概述

第2章 HTML5 JavaScript概述以及新特性 2.1 HTML5概述 HTML5已经推出,Web也不会是一成不变的. 以前你一定听说过这句话或类似的内容. 我想,当你听到这句话时,可能会变得很激动,转动眼珠.皱着眉头一脸疑问. 也可能这三种反应你都有.有这些反应,我非常能理解. HTML5 十分令人称道,正如我们所知,它可能会改变 Web,但它的作用也被夸大了. 而且,它的真正意义还难以琢磨. 在使用 HTML5 构建应用程序时,我自己也有过上面所说的每一种反应. HTML5 是一个宽

HTML5移动应用开发第2章:移动web应用的本地存储

在本文中,您将使用最新 Web 技术开发 Web 应用程序.这里的大多数代码只是 HTML.JavaScript 和 CSS - 任何 Web 开发人员的核心技术.需要的最重要的东西是用于测试代码的浏览器.本文中的大多数代码将运行在最新的桌面浏览器上,例外的情况会指出来.当然,还必须在移动浏览器上进行测试,您肯定希望最新的 iPhone 和 Android SDK 支持这些代码.本文中使用的是 iPhone SDK 3.1.3 和 Android SDK 2.1. 本地存储基础 Web 开发人员