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,一经查实,立即删除!

相关文章

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

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

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

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

arcgis拆分多部件要素

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

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

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

拼接dem,山地出现平地

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

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

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

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

WINCE6开机进度条

大致思路,在NBoot或EBoot加开机进度条,由于WINCE启动主要时间都花在读取NK,因此每读取一定的页,就在屏上画一条固定高度的线,并记录画线的位置,下次接着画,直到读取完NK,这样就产生的…

电脑查看wifi密码

右键 打开“网络。。。。。。”

软件oem要注意什么_做化妆品oem,选择化妆品包材要注意什么问题

化妆品企业找厂家做oem,一般厂家都是负责设计研发生产的,但是设计出来的产品包材,就需要找其它的包材厂家去采购了,很多没有经验的品牌商都不清楚找包材要怎么找,好看质量好就可以了吗?韵丽生物科技化妆品代…

等高线转dem

可以自行设置分辨率

登录验证应该是进行在客户端还是服务器端_网站登录认证方式

目前大部分软件系统资源访问都是使用HTTP协议,HTTP是无状态的协议,每次请求默认都是相互独立的。但是大部分情况下我们需要记录请求资源的用户信息,也就是保存会话,从而对资源的访问做限制,这是我们认证功能。常用的认…

arcgis将点的属性赋值给面

例子:将点的编号属性列赋值到对应的面属性

arcgis投影数据计算度分秒

原始数据投影坐标系 1.先将图层坐标改为地理坐标系 2.添加字段必须是文本类型,否则计算不出度分秒的形式,只显示十进制 错误示例(字段类型为双精度) 正确示例(字段类型为文本类型)

arcgis裁剪后发现部分矢量缺失

解决办法 1.先修复几何 2.再进行裁剪 修复几何 修复的内容如下

arcgis快速创建斜坡单元剖面线

本教程做出的剖面只能用作参考,实际工作中需要进行修改 一、数据: 1.斜坡单元 DEM 步骤 利用DEM做出坡向2.提取斜坡单元内部点数据 提取斜坡单元边界线数据 提取坡向数据至点属性 3.给带有剖面点的数据添加xy坐标字段,数据类型选择数值型 添…

mapgis转arcgis数据后发现属性表内没有数据

示例: 编辑点属性结构 将注释赋为属性