`

[转] [HTML5] HTML5开发入门--第1回 何为HTML5?

阅读更多

http://bbs.9ria.com/thread-80129-1-1.html

 

第1回 何为HTML5


最近经常会看到“HTML5”一词吧。本系列就是学习HTML5基础知识的入门连载,包含了JavaScript的API、CSS3、SVG等内容,定叫你耳目一新。文中会讲解到“使用HTML5能干什么?”、“要实现它,需要写怎么样的代码?”等问题。

 HTML5包含哪些内容?

    近来,“HTML5”一词的出现频率惊人地增长。几乎无日不出现在新闻和博客上。在开发者同仁的学习会上以HTML5为主题的情形亦为数不少。
    不过,也经常会听到“HTML5涵盖的内容范围极广,没有足够的学习时间。” 这样一种声音。
    诚然,HTML5可以称得上是当今世界最火热的议题。全球著名的开发者们和企业正如火如荼地对它的规范进行着提案和改善。因此,被称为“HTML5”技术的范围越来越广,要学习的东西也随之不断扩大。
    在本连载中,就来向大家介绍一下如此急速成长的HTML5的“现状”。假定读者为“具备了HTML/CSS/JavaScript的基本知识,但尚未开发过真正的富客户端/RIA应用程序”的开发者。文中会以“使用HTML5能干什么?”、“要实现它,需要写怎么样的代码?”等议题为主旨,加上急速发展中的HTML5的最新信息,向大家进行说明。
    本文,作为连载的第1回,我想先向大家介绍一下“HTML5”技术整体性的概要说明及其意义所在。

 初识HTML5框架结构
    HTML5,顾名思义就是HTML(Hyper Text Markup Language)的最新版。(现在广泛使用的HTML详细版本是HTML 4.01。)
    虽说如此,现在所谓的HTML5技术,实际上也包含了与HTML并无直接关系的JavaScript API。除此之外,甚至连CSS3(Cascading Style Sheets, Level 3)的相关技术、XML由来的其他标记语言(SVG、MathML等)也一并称为“HTML5”。
    这样一来,要为“HTML5究竟包含了哪些内容?”下定义就变得毫无意义。或许可以认为所有“基于开放标准的Web平台化”的行为都是HTML5。
    如下图所示,
    小框包含内容: HTML5的狭义范围。
    大框包含内容: HTML5的广义范围。




 HTML5解决了Web领域的哪3个问题
    HTML5对于Web领域来讲,是具有无可计量的巨大意义的升级。
    为何这么说呢?因为它一举解决了迄今为止Web领域的各种问题,是一个相当有针对性的升级。
    那么,这些问题分别是什么?HTML5是如何解它们的呢?

□ 【问题1】Web浏览器间的兼容性低
    首当其冲的是Web浏览器间的兼容性低的问题。
    在一个浏览器中能正常运行的Web程序(由HTML/CSS/JavaScript构成),放到其它浏览器中就不能正常运行,这可是家常便饭了吧。
    究其原因,当属 “规范和实现的背离”吧。如规范定义不明确、没有形成标准化规范、Web浏览器没有遵循规范等各种原因引起的。

→ 【解决】提高Web浏览器间的兼容性

    HTML5为了解决这一问题,广泛地进行了“详细分析现有Web浏览器功能实现,从中提取规范”的工作。由此,
便可将现有Web浏览器所具备的功能视为“遵循标准”的。
    如果根据这个规范来写程序,无论在哪个浏览器上都能提高正确运行的可能性,这对Web开发者和设计师来说是皆大欢喜的事。而且,对于今后要实现该功能的Web浏览器厂商来说,由于存在着明文的规范,实现起来会变得非常轻松。

□ 【问题2】藏在文档中的“意义”不明确
    下一个问题就是,以前的HTML缺少表现文档结构“意义”的功能。
    例如,要表现“目录”、“正文”等文档结构,一般会使用<div>元素。但是,<div>元素严格来讲,是“没有意义”的元素。
    使用<div>比较多的HTML文档,开发者通过目视或许能比较容易地把握文档结构。 但是,倘若对于搜索引擎等程序来说,它是不会知道“从哪里到哪里是重要的正文?”、“这个<ul>元素是表现导航菜单还是文档中的条目?”等问题的。

→ 【解决】将藏在文档中的“意义”明确出来

    HTML5为了解决该问题,添加了许多有意义的元素(称为“语义元素”)。不仅如此,还整合了各种周边技术,例如提高Web文档辅助功能(方便残疾人士)的规范(WAI-ARIA)、明示文档数据意义的规范(Microdata)等。

□ 【问题3】Web应用程序的功能受到限制

    最后一个问题是,Web应用程序的功能贫乏。
    由于Web应用程序具有从网络下载并运行的特性,需要对可能威胁到用户安全的功能加以限制。
    但这样一来,Web应用程序可以实现的功能也就相当有限了。甚至连选择上传的文件时,都不能同时选择多个文件。
→ 【解决】可以构建更丰富的Web应用程序  
    为了增强该功能,现在提出了各种新的API。各Web浏览器的实现工作也紧锣密鼓地进行着。“Web应用程序不可能做到的”功能,在不远的将来会变为可能。



 今后将介绍HTML5军团的使用方法
    如上所述,HTML5克服了Web领域中存在的问题,将Web引领到新的舞台。在不远的将来,或许会迎来“无论什么样的UI(用户接口)都能理所当然地用HTML5来实现”的时代。
    仅仅是如此一个有意义的升级,就让HTML5的规范壮大了起来,并不断地进行着持续改进。以这样的速度,至少在今后1,2年内是不会消停的吧。
    本连载将以“HTML5及其周边技术能够实现什么”为切入点,对下列主题进行解说。
  • HTML5标记
    • HTML5的描述方法
    • 段落相关元素
    • 增强的表单元素
    • 注音
    • IFrame的沙箱化
    • 菜单和命令
    • ……
  • HTML5相关API
    • 操作Bitmap图形(Canvas元素)
    • 操作矢量图形(SVG)
    • 播放视频、音频(Video/Audio元素)
    • 实现在线Web应用程序
    • 实现跨域通信
    • 使用本地存储(Web Storage、Indexed Database API)
    • 后台运处理(Web Workers)
    • 实现服务器发布(Server-Sent Events)
    • 实现socket通信
    • 文件读写(File API/File Writer API)
    • 取得位置信息(Geolocation)
    • 信息通知(Web Notification)
    • 性能检测(Web Timing、Resource Timing)
    • 移动设备用的API
    • ……
  • CSS3相关
    • CSS3 Selector
    • CSS Transitions
    • CSS Transforms
    • CSS Animations
    • Web字体
    • MediaQuery
    • Box Layout
    • ……

    不过,考虑到各个Web浏览器的HTML5实现方法不同,我想优先介绍一下让Web应用程序更多地在各个浏览器中运行的相关功能。因此,本连载的顺序并不与列表相一致。
    下回将介绍HTML5基本的描述方法和语法。敬请期待吧!
分享到:
评论

相关推荐

    何为机器视觉?机器视觉入门.pdf

    何为机器视觉?机器视觉入门.pdf

    何为机器视觉?机器视觉入门 20181126

    机器视觉是一种技术,它使计算机和自动化设备能够“看”并理解现实世界,进而执行基于图像的任务。在本文中,我们将深入探讨机器视觉的基本概念、组成部分、应用领域以及其在现代科技中的重要性。 首先,我们要理解...

    火星人敏捷开发手册 2012-12-31(修正了页眉)

    - **Scrum敏捷方法一分钟扫盲**:Scrum通过一系列会议(如Sprint计划会议、每日站会、评审会议和回顾会议)、角色(如产品负责人、Scrum Master和开发团队)以及工件(如产品待办事项列表、Sprint待办事项列表和增量...

    电气自动化设备行业欧洲系列4:欧洲电动车销量何为超预期?能否持续?-0218-天风证券-34页.pdf

    尽管2020年1月的数据可能受到2019年第四季度需求延后交付的影响,但高增长趋势被认为可以持续,原因包括政策支持的持续性和消费者对电动车接受度的提高。此外,欧洲高福利国家对电动车的税收优惠政策继续吸引消费者...

    Linux运维-50-Linux云计算-安全防御 - 何为防火墙.mp4

    Linux运维-50-Linux云计算-安全防御 - 何为防火墙.mp4

    100个iOS开发面试题汇总.pdf

    1. 请问何为Keychain效劳? - 解释:该问题考察了面试者的Keychain技术知识和安全性控制能力。 缓存和紧缩 1. 什么缘故移动设备上的缓存和紧缩是不可或缺的? - 解释:该问题考察了面试者的缓存和紧缩技术知识和...

    何为捷径?文章-需求.docx

    同样,利用开源软件和框架可以极大地加速开发进程,减少重复劳动。 哲人的观点则强调了持续努力的重要性。在IT行业中,不断学习新知识、掌握新技术是必不可少的。技术更新换代迅速,停滞不前就意味着落后。无论是...

    使用html5+css3创建优雅的网站

    在探讨如何运用HTML5与CSS3来构建一个优雅的网站之前,我们首先应当明确何为HTML5与CSS3,以及它们为何能够成为现代网站设计的关键技术。 ### HTML5:下一代的网页标准 HTML5是超文本标记语言(HyperText Markup ...

    何为抽象方法和抽象类5---马克-to-win java视频

    何为抽象方法和抽象类 马克-to-win java视频 abstract的详细介绍

    Facebook手机意欲何为?.docx

    【Facebook手机意欲何为?】 Facebook作为全球最大的社交媒体网络,拥有庞大的用户基础,其推出手机的意图旨在进一步整合资源,强化自身平台的地位。在移动互联网时代,竞争的核心已不再是单一的产品或服务,而是...

    EaglePHP 开源框架 v 1.7 发布

    EaglePHP,是一款开源、高效、面向对象的PHP MVC开发框架,完全基于PHP5可用于开发WEB程序和服务,借鉴国外优秀框架的设计思路,分层的设计思想使独立开发成为可能,建立模型推动代码的重用,有助于促进快速软件开发...

    新浪微博何为舟-自动化策略生成的思考与实践.pdf

    新浪微博何为舟-自动化策略生成的思考与实践.pdf

    火星人敏捷开发手册 2012-02-29

    ### 火星人敏捷开发手册 2012-02-29 #### Scrum基本知识 **Scrum概述** Scrum是一种基于敏捷原则的项目管理框架,旨在通过迭代的方式快速交付高质量的产品。其核心思想是通过短周期的迭代(通常称为Sprint)来...

    通信设备Ⅲ行业:三问三答,硅光对光模块产业影响几何?-20210213-长江证券-32页.pdf

    Silicon photonics(硅光)是一种能够将光学信号转换为电信号的技术,以满足高速数据传输的需求。在通信设备Ⅲ行业中,硅光对光模块产业的影响几何?本篇报告将从多个角度探讨硅光对光模块产业的影响。 一、硅光...

    汽车:欧洲系列4:欧洲电动车销量何为超预期?能否持续?.pdf

    报告首先指出,自2019年第四季度起,欧洲电动车市场进入加速放量阶段,销量显著增长,现阶段的销量增长仍主要受政策推动,但其具体手段与中国的政策有所差异。 报告提到,德国、法国等国家电动车补贴力度加大,使得...

    开关AC-DC转换,你了解吗?

    何为AC-DC转换?最直白的解释就是交流电转化为直流电的设备,其功率流向可以是双向的,功率流由电源流向负载的称为整流,功率流由负载返回电源的称为有源逆变。AC/DC变换按电路的接线方式可分为,半波电路、全波电路...

    Android嵌入式系统程序开发(基于Cortex-A8)

    在探讨Android嵌入式系统程序开发之前,我们首先需要理解何为“嵌入式系统”以及Android如何应用于此类系统中。 **嵌入式系统**是一种专用计算机系统,用于执行特定功能或任务,广泛应用于各种设备如家用电器、汽车...

    web前端(html+css+js)简单的仿原神官网静态项目

    HTML为主要结构,所有内容都是定义在html上的,css则负责对网页的修饰和布局,而JavaScript则是是网页拥有一个动态的效果, 何为动态效果?在我们初学html是,所学的form表单中的submit提交组件则是一种类似的动态效果,而...

    火星人敏捷开发手册 2012-08-15

    Scrum敏捷方法是一种灵活的、迭代的、增量式的产品开发框架,用于管理和控制软件和产品开发复杂性。它以迭代的方式进行,每个迭代周期(Sprint)通常为2到4周。在每个Sprint中,团队会从产品待办事项列表(Product ...

    80端口被占用,如何解除

    5. 使用命令“netstat -ano”来查看当前占用80端口的进程。 在禁用Http.sys之前,需要重启计算机,以便让设置生效。在禁用Http.sys后,可以启动Apache服务器,并且可以正常使用80端口。 总结来说,80端口被占用是...

Global site tag (gtag.js) - Google Analytics