写点什么

评论:前端的 HTML5 时代来临

  • 2010-05-10
  • 本文字数:1574 字

    阅读完需:约 5 分钟

今年 MIX2010 大会上微软的工程师在介绍 IE9 时,从前端技术的角度把互联网的发展分为三个阶段:第一阶段是 Web 1.0 的以内容为主的网络,前端主流技术是 HTML 和 CSS,第二阶段是 Web 2.0 的 Ajax 应用,热门技术是 Javascript/DOM/ 异步数据请求,第三阶段是即将迎来的 HTML5 时代,亮点是富图形和富媒体内容(Graphically-Rich and Media-Rich)。我也认同今年前端技术将进入一个崭新的时代,至少已经开启了这扇门。

Web 2.0 时代把大量服务从桌面转移到网络上,B/S 架框的应用迅速流行起来,这个时期 Ajax 和 Javascript 框架得到广泛的应用。网站成为提供 Web 服务的主要形式,但随着智能手机和 3G 网络的普及,手机应用和手机上的 Web 应用将会成为新的产品形态。原有的互联网产品需要对各种形式的终端提供友好的展现形式。比如豆瓣电台 ( douban.fm ) 目前就有网页版、iPhone 版、Android 版、不久还会看到 HTML 5 版和桌面版。网络逐渐变成一个传输和存储数据的透明仓库,向不同形式的产品终端输送数据。而且这个数据内容将会非常丰富,这就是微软眼中的富图形和富媒体内容,所以,IE9 必须、也不得不支持 SVG 和 HTML5 的 Video 和 Audio。

苹果推出 iPad 无疑又是一场革命,在拥有更大的多点触摸屏幕的终端上跑智能手机系统,把硬件成本降到一个足够低的程度,我想 iPad 和类似的平板电脑将会流行起来。同时也意味着,产品前端又增加一种形态。

PC 上的 Web 应用受浏览器历史原因的束缚太大,在国内 IE6 等低端浏览器目前仍占据绝大多数的市场份额。因此这些不称职的平台需要靠第三方插件来弥补先天的不足,像 Flash/Flex、Silverlight、JavaFx 等,包括 Google Chrome,本质上都是为了弥补浏览器的缺陷,当浏览器足够强了也就不需要这些插件了。智能手机出现的比较晚,所以完全没有历史包袱。现在的智能手机系统 iPhone OS 和 Android 加起来就占了 90%以上的市场份额,默认的浏览器都是基于 Webkit 内核的 HTML 浏览器,对 HTML 5 和 CSS3 的支持比较好。这让 HTML5 和 CSS3 有了最佳实践的机会。产品形态向不同终端转变的成本因此大大降低了。这是 HTML5 技术升温的原因。

比如 iPhone 上的 Mobile Safari 浏览器支持 HTML5 的 Canvas/Canvas2D、Video、Audio、Geolocation、Local Storage/Session Storage、Application Cache、Web SQL Database 等,CSS3 的 3D/2D 动画、RGBA、圆角、阴影和渐变等主要功能都支持。用你的手机浏览器访问 http://html5test.com ,可以测试一下都具体支持哪些。利用这些特性加上传统的 Javascript/HTML/CSS 就可以打造一个很强悍的 Web 应用。Paul Graham 在 2005 年 Web2.0 时代来临时曾说“Javascript now works”,那现在可以说“HTML5 now works”了。HTML5 发挥作用同时,也意味着 HTML5&CSS3 将成为前端开发者的必修技能。

HTML5 和 Flash 之间的讨论前段时间很热。插件技术本身是在原生技术满足不了的情况下才会使用。在学习路线上,HTML/CSS/Javascript 到 HTML5/CSS3 将是前端开发者的必修课,插件技术永远是选修课。Flash CS5 将支持导出 HTML5 的 Canvas,可见 Adobe 毕竟是一家软件公司,它会想办法实现不同技术之间转换和包容,有人说也许几年后 Flash 会成为 Canvas 开发工具,我们只需坐享其成。像从 Flash 到 Flex 再到 AIR 的发展过程中可见一斑。做为前端开发者来说,一定要身兼多技,但务必要先学好必修课。很多公司会设置一些专一性技术的职位,比如 Flash 开发工程师,这会误导一些人只学 Flash,对日后的职业发展很不利。

套句老话“形势喜人,形势逼人”,前端技术越来越丰富,前端开发者的担子越重,越多东西要学。总之,玩起来吧!

作者介绍:张克军,前雅虎中国资深前端工程师,现豆瓣前端工程师,主要负责产品的前端架构和开发。热衷于前端领域的技术推广,是国内最活跃的前端布道者之一。个人网站: http://hikejun.com

2010-05-10 03:446036

评论

发布
暂无评论
发现更多内容

回“疫”录(20):世界从来不会欺负听话的人

小天同学

疫情 回忆录 现实纪录 纪实

项目提升服务过程与总结稿

Geek_bc0aff

MacOS 下使用VSCode进行GoLang Test报错

北纬32°

macos vscode Unit Test debug Go 语言

如何更自信的写作

董一凡

写作

NIO看破也说破(四)—— Java的NIO

小眼睛聊技术

Java 学习 开源 架构 后端

设计模式前传——为什么要学设计模式

大头星

Java 面试 设计模式

Kafka系列第7篇:你必须要知道集群内部工作原理的一些事!

z小赵

大数据 kafka 实时计算

给苹果提醒APP配个助手

BabyKing

提醒助手 TODO 奇妙清单 Reminders Helper

东哥和刘亦菲的故事

张利东

R

从零开始制作一台计算机-概述

小兵

计算机基础

ZooKeeper,到底如何选主?

奈学教育

Vue+SpringBoot+SpreadJS 实现的在线文档

葡萄城技术团队

Spring Boot Vue SpreadJS

换脸新潮流:BIGO风靡全球的人脸风格迁移技术

DT极客

Live2D for Unity入门篇 4.x

波波

编程 游戏开发 Live2D Unity

Deno 入门手册:附大量 TypeScript 代码实例

寇云

node.js typescript

Spring Security 中的授权操作原来这么简单

江南一点雨

Java spring Spring Boot spring security

重新强调完成的定义

Bob Jiang

Scrum 完成的定义 DoD definition of done

半小时手工解决的活,让我意外学会了 python 的 pdfkit 库

小匚

Python python教程

DDD 实践手册(番外篇: 事件风暴-概念)

Joshua

领域驱动设计 DDD 事件风暴 事件驱动 Event Storming

识别代码中的坏味道(三)

Page

敏捷开发 面向对象 重构 代码质量 代码坏味道

单核小鸡上的Minikube实践(一)

摩登土狗

Docker Linux DevOps k8s minikube

npm下载electron缓慢的问题

玏佾

npm Electron

Kotlin 协程实践(2)之 异步和Callback地狱

陈吉米

Java kotlin 协程

Redis缓存三大问题

Bruce Duan

redis 缓存穿透 缓存击穿 缓存雪崩

游戏夜读 | Two Sum问题的八个解

game1night

JAVA主流锁

颇风

Java 多线程

产品周刊 | 第 15 期(20200517)

八味阁

产品 设计 产品经理 产品设计

程序员的晚餐 | 5 月 18 日 瓠子,年少时的味道

清远

美食

Web3极客日报 #128

谢锐 | Frozen

区块链 开源 技术社区 Rebase Web3 Daily

Web3极客日报#127

谢锐 | Frozen

区块链 开源 技术社区 Rebase Web3 Daily

谈谈控制感(7):底线思维与控制感

史方远

职场 心理 成长

评论:前端的HTML5时代来临_Java_张克军_InfoQ精选文章