Silverlight HTML5 Flash - RIA技术之三足鼎立

未来,“用户体验”将成为所有软件商业价值的首要衡量标准。拥有极好用户体验的RIA(富互联网应用)技术近些年来发展迅猛,其中以Silverlight、HTML5及Flash最受热捧。纵观,互联网上98%的计算机都有安装Flash;HTML5的新特性则强化了Web网页的表现力;Silverlight更是携带着高性能与高生产力等诸多优势异军突起。RIA技术领域逐渐显露三足鼎立之势。

Flash发展至今已有15年历史,时间长河使之在全球孕育了大规模热衷于网页矢量动画的设计者与开发者,以及让无数商家垂涎的插件装机量。在Macromedia和 Adobe的号召下,无数优秀的艺术家、UI设计师和互动程序设计师团结一起,最终成就了今天全盛时期的Flash。

ActionScript是Flash最主要的编程语言,作为当下主流的RIA技术,Flash十数年的积累使其拥有极深的根基,Flash的主导地位短时间内很难被撼动。然而,问题都是相对的,时间的沉淀伴随而来的是漏洞百出,Flash的滥用和参差不齐的Web前端开发人员造成了当前很多网页中的Flash应用效率低下,浏览器极易崩溃等问题;插件越来越臃肿却依旧无法改变封闭的SWF对搜索引擎的不友好支持。更让诸多Flash Fans伤心的是,苹果方面明确地排斥Flash,从iOS到MacBook Air 2010都能看到厌烦的身影,或许Flash真已渐入中年。

HTML是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML4标准已经十多年了,随着世界IT技术的飞速发展,各类软件和平台的不一致性骤增至今我们还得继续兼容IE6下的CSS样式名,开发差异化的产品,却要提供同质化的功能,多浏览器、多平台上的兼容测试依旧是无数网页设计者心中永恒之痛,HTML4在各类平台上所受到的诸多限制使得HTML5呼之欲出。于是,2004年HTML5第一次被WHATWG提出,2007年最终为W3C所接纳。内置Canvas、Audio/Video以及Web存储等诸多新特性的HMTL5未来将会引领互联网多方面的改进与革新,依旧利用HTML + JavaScript + CSS使得普通网站也能轻松具备更丰富的功能,被世界所公认真正做到跨平台的技术。

然而,看似美好的HTML5却注定一身坎坷,从它出生开始就已被Google所挟持企图号令天下。Google的云计算帝国就差一个RIA的支持,本被高度期望的Gears还未足月即宣布夭折,旨在为HTML5的登基做铺垫,不由得让我们更极端的思考:假若 HTML5真能普及,更多的应用转向B/S模式,微软帝国的桌面软件生态环境必定遭受巨大威胁,虎视眈眈多年的Google将是最大受益者,Chrome OS操作系统即是最给力的证据。

长远看,作为Google玩转于指尖的一枚棋子,HTML5终究还是无法取代Silverlight或Flash等网页插件技术。如果我是项目经理,我会否决一切完全依赖于HTML5的项目,只因为我实在无法忍受耗资巨大的项目源码却能如此轻易的被对手剽窃、掠走,好比敞开着你家的保险柜丢在马路中央,难道你在期待开源组织给予你至高无上之敬意?再说了,HTML5在开发效率和开发工具上着实显得捉襟见肘,且很难实现网页插件所能轻松实现的高级功能,而网页插件则拥有比HTML5更灵活的框架,整体性能更好,还具备跨浏览器(不同浏览器下无差异体验)等优势。另外,HTML5若要真正应用到商业领域,前提是其规范必须得到统一。可现状令人堪忧,微软的IE、Mozilla的Firefox以及主导者Google的Chrome当下都在极力的争夺HTML5标准制定方面的最强话语权,利益驱使下的HTML5标准统一5至10年内依旧一片浮云,对于Silverlight和Flash来说这么漫长的时间已足够开发出几代新版本了,同时亦印证了W3C对当前HTML5/CSS3标准现状的表述:“不适宜用作生产环境”。

新秀Silverlight是微软所发展的Web前端应用程序开发解决方案,2007年9月这个奇迹般的小子横空出世,给本已混乱的Web市场再添一大变数。Silverlight最大的特点在于它精简的.NET框架,你可以使用C#、VB、F#这3大.NET主流开发语言去编写Silverlight应用程序。Silverlight的开发者大多来自传统的.NET产品研发一线,拥有国际顶尖的架构经验和丰富的设计模式知识,在VisualStudio以及Blend等强大开发工具的协同支持下,高性能、高开发效率等诸多优势显露无疑。Silverlight的应用主要集中在电子商务、视频、网页网络游戏,卫星定位、导航、地理系统等领域,作为微软“三屏一云”计划(电脑屏幕、手机屏幕和电视屏幕以及云计算)的核心技术,伴随着近期Window Phone 7的发布,我们已能隐约感受到未来Silverlight“三端(网页、桌面和移动设备)一统”的局面。

Silverlight发展至今短短3年多,仅为HTML5设计时间的一半就推出了四个主要版本,仍在研发中的第五个版本即Silverlight 5 的新特性已经公开,2011年上半年将会发布Beta版。Silverlight在其发展过程中充分吸收其他竞争对手的优点,取长补短,利用GPU硬件加速大幅提升2D/3D应用程序性能,同时突破了Flash无法使用右键的功能限制,还能通过脱离浏览器的模式(Out of Browser)运行于系统桌面(超越浏览器),以及作为Windows Phone等移动设备的主要开发技术,外加其开源框架Moonlight的跨平台特性,使得Silverlight在RIA领域的优势日益明显。不久,Silverlight 5或将带着对3D模型及骨骼动画的原生态支持问世,网页技术即将翻开崭新的一页 – Web 3D时代的来临。

我们可以打这么一个比方,如果把Flash看做一只银行股,那么HTML5就是只题材股,厚积薄发的Silverlight则是名副其实的潜力股。就目前而言,这三者都在不断壮大中,各有各的优势与契机且相互制衡着,短时间内并不存在谁取代谁的问题。微软开发平台产品经理Brad Becker也曾说过:“在网络上,Silverlight从没打算要取代HTML5,而是要做HTML5和其它技术不能让开发人员轻易做到的事情。”

论发展速度,Silverlight有赶超Flash之势,HTML5则更多体现的是某些厂商试图改变软件生态格局的发展战略需求。当然,撇开三者的纷争不论,所有的RIA技术都只为同一目的而存在着:让互联网绚动起来!RIA盛世降临,你准备好了吗?

转载于:https://www.cnblogs.com/zjoch/archive/2011/03/01/1968453.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将经纬度转换为以度为单位的xy坐标

(LEFT(A2,FIND("",A2)-1))MID(A2,FIND("",A2)1,FIND("′",A2)-FIND("",A2)-1)/60MID(A2,FIND("′",A2)1,FIND("″",A2)-FIND("′",A2)-1)/3600 (LEFT(B2,FIND("",B2)-1))MID(B2,FIND("&…

python i开发工具_Python轻量级开发工具Genay使用

Genay是一个轻量级的免费,开放源代码的开发工具,支持很多的文件类型,并且支持很多的插件,启动快速。安装包只有十几兆,相比pycharm专业版需要收费,并且社区版的安装包大小有两百多兆,对于python…

wince 常见问题 1

1 在mediaplayer全屏播放的时候,我可以用键盘上的某一个键调节声音大小,现在我想在屏幕上显示调节的结果就跟我们看电视一样能出来一些标记。当声音变大在屏幕上就增多, 当声音变小的时候就减少 得到播放窗口的DC,然后在上面显示…

高服从编纂器 VIM-操作篇(1)

Toy Posted in Featured Post, Text Editor, Tutorials固然从好久前就开始用 VIM 了,但不绝都是半调吊子,翻来覆去只用自身会的饬令。最近为了提高誊写代码的服从,另有 coding 时分的兴味,又从新研讨了一下 VIM,发明白…

S3C2440 WINCE6将USB DEVICE改成USB HOST,实现两个USB HOST

S3C2440一般默认的是一个USB DEVICE,一个USB HOST,即一个主口,一个从口,先来看看USB Device与USB Host相关知识。 USB Host: 最底层就是USB Host控制器了,上层是USB Host Controller Driver,该…

累积分布函数_C7: 概率函数和分布函数Distribution Function

》》点赞,收藏关注,理财&技术不迷路《《以下定义都是针对离散型随机变量的!!!!!概率质量函数Probability Mass Function PMF(只有离散型有):概率函数&…

arcgis拆分多部件要素

我们在项目中经常会遇到明明是多个要素,结果偏偏是一个,如下图 解决: 1.开启编辑 2.在编辑器中打开高级编辑 3.点击要拆分的要素,进行拆分多部件要素 4.拆分结果如下

维护IBM DB2数据库所应领会的基本常识-8

81.表的类型有哪些? 基本表 后果表 撮要表 类型表 子类型 子表 声明的暂且表 琐屑暂且表 82.怎样定义序列? CREATESEQUENCEORDERSEQSTARTWITH1INCREMENTBY1NOMAXVALUENOCYCLECACHE24 83.怎样将表置于检查挂起形态? SETINTEGRITYTABLE_NAMEOFF    84.怎样取得…

wince6.0驱动开发

1、基础知识: 1)系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接 口。设备驱动程序为应用程序屏蔽了硬件细节,在应用程序看来硬件只是一个设备文件,应用程序可以 像操作普通…

在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动...

在当今世界,移动设备是我们日常生活中必不可少的一部分,我们在走路、跑步、开车以及其他许多活动时都会使用移动设备。了解用户拿着手机的时候在做什么,可以让你的应用程序根据用户的动作进行直观的调整。对于某些应用程序,确定用…

拼接dem,山地出现平地

利用dem做山体阴影,错误示例: 解决办法: 调整以下参数即可

先容Oracle中null的运用要领。

51 本源:网海拾贝 问:什么是NULL? 答:在我们不晓得详细有什么数据的时分,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。 ORACLE许可任何一种数据…

Wince6 Eboot中加入开机画面

昨天研究了一下wince开机时加入个性化的画面,折腾了一上午,不是花屏就是CE起不来……终于搞定,分享一下经验吧。。。 Wince加入开机画面方法一般有以下两种: 1、 在文件中下定义一个常量大数组,几百K,如con…

hive 窗口函数_Datatist科技专栏 | Hive排序窗口函数速学教程!

作者:原上野设计:Cindy编辑:AI君在开发过程中经常会遇见排序的场景,比如取top N的问题,这时候row_number(),rank,dense_ran()这三个函数就派上用场了,其中,row_number()最为常用。虽然都可以排序…

arcgis利用python赋值

、 rec0 def autoIncrement(): global rec pStart 1 pInterval 1 if (rec 0): rec pStart else: rec rec pInterval return rec

人生九度

1.工作方面,能力不敌态度; 2.事业方面,才华不敌韧度; 3.知识方面,广博不敌深度; 4.思想方面,敏锐不敌高度; 5.做人方面,精明不敌气度; 6.做事方面&#xff0c…

platform Builder导出SDK

一、编译好wince系统 二、选择[platform]->[configur SDK],第一次进入的话,会要求输入一些SDK名字等信息。完成后再一次进入才是配置SDK的属性。 三、有几项需要注意的: CPU选项:若是输出仿真器的SDK,这项不要选入…

idea修改代码后没有重新编译_SpringBoot中实现代码修改之后的自动更新与热加载...

在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果。那么有没有一种方式能够快速的、自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,对于这个功…