写点什么

评论:前端的 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:445760

评论

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

[教你做小游戏] 滑动选中!PC端+移动端适配!完美用户体验!斗地主手牌交互示范

HullQin

CSS JavaScript html 前端 9月月更

Java进阶(五)Junit测试

No Silver Bullet

JUnit 测试 单元测试 9月月更

计算机网络的组成

StackOverflow

编程 计算机网络 9月月更

云原生(三十六) | Kubernetes篇之Harbor入门和安装

Lansonli

云原生 9月月更

致敬经典!这款华为主题能让你的手机秒变“历代Mate”

最新动态

库调多了,都忘了最基础的概念-《方法篇》

知识浅谈

9月月更

查看k8s的etcd数据

程序员欣宸

Kubernetes 9月月更

【iOS逆向】某营业厅算法分析

小陈

Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法

共饮一杯无

Java 9月月更 URL和URI

Linux系统安装配置jdk

Centos 7 jdk8 9月月更

「趣学前端」骨架屏,分享一波前端UI组件开发的经验

叶一一

JavaScript 前端 组件 9月月更

云原生的学习心得

Geek_e8bfe4

1分钟了解什么是数据湖?标准的数据湖什么样?

雨果

数据湖

LeetCode-28. 实现strStr()(java)

bug菌

9月日更 Leet Code 9月月更

LeetCode-27. 移除元素(java)

bug菌

9月日更 Leet Code 9月月更

Containerd ctr、crictl、nerdctl 实战

CTO技术共享

真的破防了!在华为主题熄屏显示找到我的第一台Mate

最新动态

P8大佬私藏的:微服务与分布式系统实践详解,YYDS!

程序知音

Java 分布式 SpringCloud 后端技术 微服务架构师

如何使用Postman调试HMS Core推送接口?

HarmonyOS SDK

移动推送

YAML管理Kubernetes应用

CTO技术共享

随机生成也是需要有效控制的

zxhtom

9月月更

阿里云林小平:如何实现资源高效运维及成本分析

阿里云弹性计算

运维 资源管理

生产环境中使用 Linkerd

CTO技术共享

《小米创业思考》之一:小米历程

郭明

读书笔记

NFT数字藏品介绍:NFT数字藏品(交易平台)系统开发

开源直播系统源码

区块链 NFT 数字藏品 数字馆藏

数字化转型和信息化的区别是什么?

雨果

数字化转型 企业信息化

自动化测试如何管理测试数据

老张

自动化测试

产品需求文档必须消亡

ShineScrum

Scrum 敏捷 产品开发 PRD

C语言_1 背景,和Hello world

泾箐

c 9月月更

蒙特卡洛方法与蒙特卡洛搜索树(一)

Joshua

机器学习 算法 蒙特卡洛

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