从flex、wpf、silverlight看界面开发的发展

本文介绍了Adobe推出的Flex框架和微软的Silverlight技术,探讨了两者作为RIA开发工具的特点及应用场景。Flex利用Flash作为载体,提供良好的用户体验;而Silverlight则支持跨语言开发,与ASP.NET整合能力强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前两天ADOBE发布了PhotoShop的网络版(http://www.photoshop.com/express )。与像google doc这样的web程序相比,PS express给人的第一感觉就是——漂亮。整个界面都是flash实现,不仅使用方便,而且界面吸引,在网络比较流畅的情况下用起来基本没有反应缓慢的感觉。

这就是之前Adobe所谓的flex框架所制造出来的一个经典RIA(富客户端)应用。

flex是一个非常新颖的技术。通过使用一套基于XML的语言——MXML定义界面,再加上ActionScript作为逻辑代码,然后利用flex sdk就可以生成出一套由html、flash、javaScript等东西组成的网页。

以下是一段完整的界面代码,通过这些可以在页面上显示一个“窗口(panel)”里头包括一段文字以及按钮

<?xml version="1.0" encoding="utf-8"?>  
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
<mx:Panel>
<mx:TextArea text="Say hello to Flex!" />
<mx:Button label="Close" />
</mx:Panel> 
</mx:Application>

在制作客户端的层面上,flex和flash有质的区别。flash是针对艺术创作以及一些小型交互多媒体而设计的,它难以承担数据处理的任务,而且由于它不是基于控件开发的,所以不利于开发应用程序。而flex把flash作为载体来生成界面,非常好的解决了网页界面体验的问题。同时flex提供了和其他web技术整合的通道,使这个界面能有效的与数据处理整合。利用flex可以开发更复杂的一些网页程序。

说到flex,还得提及一下Adobe AIR。flex是针对web的,而AIR则是利用Web技术解决桌面应用。AIR相对于一般Web技术来说,最主要就是跳出了浏览器的限制,通过AIR runtime让这些Web程序获得处理本地数据的能力(例如读文件)。

不光是adobe,微软也在大张旗鼓的向RIA开发进军。微软为其.net平台又添加了几个重要的元素:WPF以及SilverLight(原来是叫WPF/E)。

WPF是.Net Framework 3.0的三大核心之一,主要是解决界面处理的问题。类似于flex,WPF也提供了基于XML的语言进行界面定义。当然,真正让WPF区别于旧有桌面程序开发的一个重要原因是因为它是针对3D桌面设计的。它是基于directX而不是gdi,能充分利用显卡进行图像绘制。并且它提供了大量API支持3D界面的开发。

至于silverLight,它原名是WPF/E(windows presentation foundation everywhere),可以看出它和wpf的亲缘性。最初的silverLight更像一个微软版的flash。当然,微软不会为了打倒一个flash而花这么多功夫。silverLight也是一个用于开发Web RIA的前台技术。由于它基于.Net,所以也具有跨语言的特性。你可以用类似WPF的开发方法加上自己熟悉的语言(当然C#永远是最合适的)开发出界面华丽的Web程序。而且它和ASP.Net有很好的整合能力。微软已经在自己的网站上使用silverLight了。在微软的下载中心、MSDN主页都有silverLight的存在。

最后我们也可以看到两间公司在“整合”这方面的优秀策略。像flex和AIR其实底层技术基本都是以前大家都在用的Html,flash,actionscript等等,然而经过一个全新的整合之后就变成了高效而强大的开发工具。而微软自然就不用说了,.Net这个平台已经是涉及到开发的方方面面,从用户桌面到企业web都能找到.Net的身影。

RIA这个市场非常有前景,也必然是这两间公司必争的一块宝地。不过对我们做开发的来说,最重要的还是多了一堆实用的技术。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值