[RIA]HTML5怎么就成了RIA“杀手”?

2024-04-17 00:32
文章标签 html5 怎么 frontend 杀手 ria

本文主要是介绍[RIA]HTML5怎么就成了RIA“杀手”?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源:http://www.cnblogs.com/flexblog/archive/2009/06/25/html5-kill-ria.html

 

详细地址: http://www.k-zone.cn/zblog/post/html5-kill-ria.html

最近,我想IT领域最为火爆的一个词汇就是:HTML5了。随着Google Wave揭开面纱,FireFox 3.5、Opear 10、Chrome相继支持HTML5特性后,本来就不是一个新词汇的HTML5突然之间进入到了更多人的视线里面,本应是一个利好的事情,毕竟HTML5的出现会给Web带来很多新的“生机”与“活力”。
然而,不知道从什么时候开始,HTML5竟然被描述成了“Flash杀手”、“ RIA杀手”等“血淋淋”的词汇。关于HTML5能否可以取代Flash、取代RIA?网络上几乎是各抒己见,百花齐放。

本篇文章也是叙述HTML5与RIA之间的事情,但是本篇文章是从他们之间的从属关系进行的叙述,而没有从技术等角度来描述。

okay,首先第一个阐述的观点,既然HTML5是RIA、Flash、Silverlight杀手,那么所谓“杀手”指的是什么呢?
即“杀手”的含义:
HTML5可以代替Flash、Silverlight、JavaFX等技术。甚至于“消灭”掉RIA这个词汇。
那么既然说到了RIA,让我们先了解一下RIA的定义:
网络上关于RIA的定义有很多,我就不在这里叙述了,定义请看:这里

目前来说RIA范畴的主流解决方案大致如下几个:
1、  Flash(Adobe公司)
2、  Silverlight(Microsoft公司)
3、  JavaFX(Oracle公司)
4、  Ajax(以JavaScript驱动)

不过无论哪种RIA解决方案,他们有一个共同点。都是需要下载一个runtime,然后相当于浏览器插件形式存在的。(Ajax除外)
也就是说:HTML5与RIA之前的关系是:平台与插件。无论是哪个RIA技术都会包容在HTML里面。(Ajax技术亦是如此)
也就是说:之前他们的关系是“和平相处”的情况。

HTML5在某些人的描述中,突然之间变成了RIA的杀手、Flash杀手、Silverlight杀手...
那么持这些论调的人所拥有的观点是什么?

我觉得大致有以下几个特征:(我只是列举了几个特征而已)
<video>标签:
利用
HTML5这个新标签可以直接在HTML上面播放视频、例如oggmp4格式。
<canvas>标签:
利用
HTML5这个新标签可以直接在HTML上面显示2D图形。例如圆形、长方形、正方形等。
HTML5离线处理:
Google GearsAdobe AIR大行其道的今天,如果以后HTML原生的支持离线标准,并且制定了相应的标准,那么肯定会对Google GearsAdobe AIR产生重大的影响。

通过上面的几个HTML5的特性的确不能难看出:
一个具有2D绘图能力,同时也可以自行执行多媒体技术、并且拥有离线处理技术的新产品,那么它的确是有RIA特性的产物。更“可怕”的是,它还是RIA技术的平台、载体。

但是我想说的是:
1、  Flash早在Flash 1版本的时候就已经支持了2D绘图。同时Silverlight、JavaFX也都在他们的第一个版本中支持了2D绘图。
2、  Video/audio的支持的确是一大进步,不过目前主流的流媒体技术仍旧是Adobe公司的FLV,同时FLV占据了90%的份额,那么oggmp4能否成为主流格式呢?如果不成为主流的话,<video><audio>标签能否有受众?(当然Youtube支持一个HTML5的访问链接)
3、  离线标准的制定:这个地方的确是看起来很美,但是前有Google GearsAdobe AIR,后有Silverlight 3.0版本的加入。而且无论是哪种方案,目前都有大批量的程序作为依靠。

上面是我说的HTML5其中一部分“引以自豪”的功能。那么我再说说下面的一些问题:
1、  HTML5的制定需要在2022年才能正式发布,就是说这部分相当充裕的时间,就足以让FlashSilverlightJavaFX等做他们想做的事情了。
2、  浏览器的兼容性,虽然现在可以使用一些非常规手段,例如识别未知元素等方式,让HTML5向下兼容浏览器,但是大家一定要注意,虽然可以识别,但是仍旧无法使用HTML5的特性。而FlashSilverlightJavaFX,如果出现了上述的情况,那么只需要下载对应高版本的runtime即可,这也是插件方式的有点。
3、  又是浏览器的兼容性,无论ChromeFireFoxSafari里面JS执行速度如何的快,目前IE678)系列还是占据主要市场的。而浏览器直接的JS等的不兼容性,也会给HTML5的推广带来很多不利的因素。

通过上述的一些反例足可以说明,HTML5会真的“看起来”很美?我想不是的,那么HTML5可以为我们带来什么?
首先一个先决条件:HTMLRIA一直都是“平台与插件”之间的关系。

然后我举一个“貌似”恰当的例子来说明:
例如:windows XP,如果想要具有类似Vista Aero效果,那么需要下载第三方工具:windowsblind来模拟实现,最终是可以实现Aero效果,那么效率方面也不如在Vista原生的支持好。同样,在Vista已经原生的支持了Aero效果,那么windowsblind也有相对于Vista的版本,而这个版本可以支持更多的效果。

上面的例子不是很贴切,但是我想可以说明一个事情。
如果HTML5可以原生的支持视频、2D图形、离线浏览等功能,是不是可以这么说:
Flash、Silverlight、JavaFX可以通过这些特性做更多的事情呢?或者Flash、Silverlight、JavaFX可以更专注于某些HTML无法实现的功能,同时HTML5也会给RIA带来更强大的平台。

下面是一个HTML5的特性展示:
http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml(以上链接需要FireFox 3.5打开(即支持HTML5的浏览器))

如果看不了的话,请看video
http://standblog.org/blog/post/2009/04/15/Making-video-a-first-class-citizen-of-the-Web

通过这个demo可以得知,我们在HTML5上面的内容可以通过“某些手段”显示在video上面。这就是一个比较典型的互动,那么如果让HTMLFlash进行配合,是不是可以做出真实的产品介绍等内容呢?

再比如一个例子:
Google Wave中,我们可以利用HTML5的将桌面上面的内容直接拖拽到浏览器里面,如果这个特性放到Flash里面,即将桌面上面的内容直接拖拽到Flash里面,然后再进行处理(例如图片处理等方式),当处理完毕后,还可以再保存到桌面上。这样的方式,我想如果没有HTML5的支持是无法实现的。

所以我认为HTML5不仅不是RIA杀手,而且还是RIA新的强大的实施平台。当HTML5搭载RIA后,RIA将会变得更加的强大。同时RIA也会相应的放弃一些不必要的功能。

那么HTML5到底是谁的“杀手”呢?
我个人觉得HTML5联合RIA技术因而面对的真正对手:传统的C/S类型的软件

当然了上面的观点是我的猜想,原因也很简单:
1、  HTML5 + RIA将变得很强大,强大到将web的内容渗透到操作系统上面。
2、  背后还可以有云计算的支持。
3、  HTML5 + RIA无疑可以慢慢模糊浏览器与操作系统之间的界限,即模糊B/S软件与C/S软件之间的差别。
4、  HTML5、RIA无论哪个概念都属于web领域,因此HTML5的加入可以助力Web领域的发展。

同时,上述任意一点无疑都是对传统软件的冲击,也就是说:Web产品对桌面产品的冲击和挑战将会随着HTML5的到来而越演越烈!
再猜测继续猜测一下,Web下一个对手将是OS(操作系统),而Web的“战将”则是HTML5、RIA、云计算等技术。

因此本文的真正题目是:HTML5 + RIA“大战”桌面软件:)

写在最后的话:
本篇文章在某些地方的确有些“火药味”,因此在某些地方有偏颇的话,还请各位看官,指下留情:)

这篇关于[RIA]HTML5怎么就成了RIA“杀手”?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910332

相关文章

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,