RIACHINA 中国RIA开发者论坛

首页 » RIA 客户端开发 » FLEX 专区 » 正面面对Microsoft SilverLight(WPF/E)! 请大家各抒己见!
adobelabs - 2007-4-18 14:41:00
首先转一下来自Matrix的新闻:



微软正式发布Flash杀手 命名为SilverLight

matrix 发表于 2007-04-17 08:42:35 作者:Matrix 来源:SilverLight


摘要:

微软日前在美国拉斯维加斯召开的全美广播协会会议上,宣布了其为Windows、Web以及设备上创建富媒体、丰富交互性的战略。并正式将WPF/E命名为Microsoft SilverLight。

   SilverLight是Windows PresentATIon Foundation的一个子产品,其利用了跨浏览器Web技术进行设计,以实现多操作系统,甚至是移动设备上的无缝运行。和Flash一样,WPF/E 是作为一个浏览器的插件,可以显示矢量图形、动画和视频。

Silverlight集成了多种现有Web技术和设备,它可以在Windows、Mac平台上运行,支持IE、Firefox,甚至Apple的Safari Web浏览器。而无需对现有的网站设计进行移植,甚至包括利用Adobe
Flash设计的内容。

  至于SilverLight与Flash的区别,微软的一位高层人士曾这样描述:一个WPF/E程序“并不是传递给Flash播放器的一个编译好的二进制文件。”相反,所有的代码都是基于标准的,且图像都使用了XAML。

  同时,与Flash的内容不方便搜索引擎收录不同,SilverLight是以DOM型式公开它的元素树,内容能很好被搜索引擎收录。

  附:SilverLight产品介绍

  1、Silverlight通过小巧的浏览器插件将视频、交互性内容以及其他应用融合在一起。该解决方案集成了强大的图像及图层技术,支持任何尺寸图像的无缝整合,并提供适合广播的图层技术,可以在图像上添加按钮、标题或是其他交互性内容。

  2、 Silverlight允许利用WMV标准从高清设备向移动设备提供高质量视频和音频。此外,该工具通过Expression
Media Encoder以及Tarari公司的内建平台,支持15X的快速视频编码及硬件加速。

  3、Silverlight支持多种平台,使用户能够方便的进行代码重用,并通过不同平台无缝的连接到Web。

  4、Silverlight集成了多种现有Web技术和设备,这意味着它可以在任何服务器和发布平台上使用,而无需对现有的网站设计进行移植,甚至包括利用Adobe Flash设计的内容。

5、Silverlight采用了已在.NET 3.0和Vista中使用的XAML语言,这使得Web内容和桌面内容的开发语言一致,从而降低了开发费用。Silverlight还兼容大量其他标准和 现有技术,包括ASP.NET、AJAX以及.NET 3.0,这使得开发者可以根据现有标准,或是采用微软已成熟技术来开发基于Web的内容。

6、 此外,Silverlight为设计者和开发者提供大量的开发工具和开发环境支持。对设计者来说,Expression Design和Expression Blend软件可以创建可重用界面,Expression Web使得在符合W3C标准的网站开发中可以使用XHTML、XML、XSLT、CSS以及ASP.NET等工具。对开发者来说,基于Visual Studio的Web开发支持包括ASP.NET AJAX在内的技术,并支持JavaScript,C#,VB,Ruby以及Python等多种开发语言。

  7、 Silverlight浏览器插件的安装程序简单,体积约为2Mb。当用户遇到使用Silverlight开发的网页时,可以迅速的安装这一插件。 Silverlight内建的视频及动画广告解决方案灵活性很高,当传输广播类型的视频或是动画广告时,不会影响视频的质量。而这一问题是现有技术普遍遇到的问题。

  8、通过获艾美奖的Windows Media技术,传输流量可降低46%,并且和现有的Windows Media流量配置方案兼容。如果采用下一代Windows Server系统中的IIS媒体包,流量还将进一步下降。

  9、Silverlight支持内容接入保护技术。无论在Windows还是Mac平台上,Silverlight都支持多种商业模型,包括订阅、租用、付费浏览或是预览等。






这不难发现SilverLight(WPF/E)利用Microsoft原本拥有的优势。
个人认为最帅的优势是在于SilverLight是以DOM型式公开它的元素树,内容能很好被搜索引擎收录,这方面我期待着Apollo对它的强有力的回应!
这几点优势就能挑战Flash/Flex/Apollo吗?
P.S: .air?air Jordan?air = atmosphere?no,no,no!air = ria = RIA = Rich Internet Applications!
蜘蛛虾 - 2007-4-19 9:26:00
Microsoft跟Adobe的硝烟已经燃起~
happybombman - 2007-4-19 9:52:00
不得不佩服MS,以一己之力对抗各领域的IT巨头,有竞争总是好事
蜘蛛虾 - 2007-4-19 9:56:00
官方参照:
http://www.microsoft.com/silverlight/
http://www.microsoft.com/presspass/press/2007/apr07/04-15WPFEPR.mspx#top
aimyang - 2007-4-26 22:19:00
到底学哪个好呢?真是。。。。。
唉,看来MS要强大一些吧。
klone - 2007-4-28 23:57:00
没得选,做技术的,什么都得学......
micah001 - 2007-4-30 10:58:00
支持开源的~~~~
mianfeizhuce - 2007-5-5 17:13:00
支持 Adobe Flex
1234 - 2007-5-9 12:01:00
都要学 呵呵
passporter - 2007-5-9 18:24:00
应该各自会占有自己的领域。

都很好,全要学:)





------------------------------------
riaforum.com
mckinley - 2007-5-12 21:37:00
以现在来看真的很难说了。
Flex对于搜索引擎的不配合是劣势。
SL呢,试用下来我觉得性能不如FLEX。
龙虎斗,难解难分。。。
itsusony - 2007-5-15 11:41:00
从自身经验和感受来分析silverlight这篇介绍



1、Silverlight通过小巧的浏览器插件将视频、交互性内容以及其他应用融合在一起。该解决方案集成了强大的图像及图层技术,支持任何尺寸图像的无缝整合,并提供适合广播的图层技术,可以在图像上添加按钮、标题或是其他交互性内容。

Flash 10年前就已经可以了,而且,目前为止,silverlight不支持宽度100%属性,一些细小的地方都没有支持,比如说文本的换行,更不用提是否支持css了

  2、 Silverlight允许利用WMV标准从高清设备向移动设备提供高质量视频和音频。此外,该工具通过Expression
Media Encoder以及Tarari公司的内建平台,支持15X的快速视频编码及硬件加速。

当今的网络速度,连直接传输720p的内容都不够,更不用说1080p的内容了,所以说目前支持在线高清,没任何意义。更何况Flex版本也会更新,以后等网络速度全面提升了,支持高清只不过是一个补丁的事情。
MS有Expression Media Encoder编码,ADOBE也有自己的编码软件,所以无法体现任何优势。


  3、Silverlight支持多种平台,使用户能够方便的进行代码重用,并通过不同平台无缝的连接到Web。

所谓支持多种平台只不过是windows和mac,linux和手机平台全部不支持,ms还有待努力几年了,Flash lite在新式手机平台的占用率几乎是100%了。
ADOBE也有APOLLO,而且不像做wpf与wpf/e开发的时候需要修改代码的巨大差异,silveright所谓的进行代码重用,还不如重新写代码了。wpf后台使用c#,silverlight在2008年前的1.0版本里最多只支持javascript,js的UI逻辑层效率之低下,根本无法支持复杂的UI系统。


  4、Silverlight集成了多种现有Web技术和设备,这意味着它可以在任何服务器和发布平台上使用,而无需对现有的网站设计进行移植,甚至包括利用Adobe Flash设计的内容。

这点2方都一样,flex也是以mxml文本形式,而xaml也是。在开发过程中,发现xaml的使用方法与flex的mxml如此类似。但mxml的推出比xaml要早很多年,其中的关系,呵呵,也不用说穿了。

5、Silverlight采用了已在.NET 3.0和Vista中使用的XAML语言,这使得Web内容和桌面内容的开发语言一致,从而降低了开发费用。Silverlight还兼容大量其他标准和 现有技术,包括ASP.NET、AJAX以及.NET 3.0,这使得开发者可以根据现有标准,或是采用微软已成熟技术来开发基于Web的内容。

所谓降低开发费用,ms的服务器平台哪样不用大价钱购买?一个2003平台,sql server 2005,visual studio 2005,再加上一堆新的expression软件。
而且IIS的低可靠性,根本无法用在重要的应用项目里。一个iis漏洞,经常是2,3个月才能出补丁。而用flex,不仅可以用.net,还可以用php,jsp等等等等,只要接口用xml或json,平台全部免费,开源代码又如此众多,服务器方面除了硬件,可以说是0成本。


6、 此外,Silverlight为设计者和开发者提供大量的开发工具和开发环境支持。对设计者来说,Expression Design和Expression Blend软件可以创建可重用界面,Expression Web使得在符合W3C标准的网站开发中可以使用XHTML、XML、XSLT、CSS以及ASP.NET等工具。对开发者来说,基于Visual Studio的Web开发支持包括ASP.NET AJAX在内的技术,并支持JavaScript,C#,VB,Ruby以及Python等多种开发语言。

一堆软件,只看到一个字:钱。当然,要是用D版不在讨论范围。但所谓支持c#,vb,ruby,python,只有等到明年2008年奥运会之后了。在之前只能用效率低下的跟开发dhtml版本没区别的javascript。
本人有接近5年的js经验,虽然已经习惯了没ide的javascript开发,用dw或vs代替,也习惯了debug用alert或document.title,但永远无法接受的是,当你用js开发了一个稍微比较大的project,当cilent网速不足或不稳定时,js的未完全加载,将会在ie左下角出现js错误警告,或ff里面的error报告。

要人们等到2008年的所谓的silverlight 1.1,等足足1年,谁愿意?在时间就是丈母娘的it届,谁肯等?


  7、 Silverlight浏览器插件的安装程序简单,体积约为2Mb。当用户遇到使用Silverlight开发的网页时,可以迅速的安装这一插件。 Silverlight内建的视频及动画广告解决方案灵活性很高,当传输广播类型的视频或是动画广告时,不会影响视频的质量。而这一问题是现有技术普遍遇到的问题。

最新的silverlight体积是4mb,而且只包括英文字体。目前要解决自定义字体或亚洲字体,只有放置字体文件提供下载,每个体积都在8mb以上。真佩服silverlight的开发组,你们对字体方面是怎么思考的,要我来评价就是经验欠妥。传输时现在哪门技术可以影响视频质量?貌似还没遇到过吧。最多就是要等加载,silverlight同样也需要。

  8、通过获艾美奖的Windows Media技术,传输流量可降低46%,并且和现有的Windows Media流量配置方案兼容。如果采用下一代Windows Server系统中的IIS媒体包,流量还将进一步下降。
  先改进iis的安全性吧,流媒体几家大公司的技术都基本差不多性能,拼的就是占有率。下一代的技术就等下一代再评论。

  9、Silverlight支持内容接入保护技术。无论在Windows还是Mac平台上,Silverlight都支持多种商业模型,包括订阅、租用、付费浏览或是预览等。

这跟silverlight无关,与流媒体有关









接下来谈谈silverlight开发感受,比如做个object拖动。

在silverlight里,首先你要获得此object坐标,然后计算你的鼠标光标在此object里面的坐标,然后2者互相抵消,获得真正的鼠标坐标,参照物是底层canvas。
然后你要设置此object的监听器,然后用js实时读取鼠标坐标,以重写object坐标。cpu占用率基本都是90%左右(pD 2.8G双核)


而flex里面只用一个即可:startDrag();



目前silverlight里面,控件几乎没有,form控件也没有。而且无法支持flash,也就是说不支持youtube的视频内容。

所以,总结来说,近2年来,谁用silverlight开发RIA,谁基本就是在开国际性玩笑
suede - 2007-5-15 14:11:00
依楼上的看来,silverlight可以说完全不是基于flash的RIA对手?

但M$有庞大的开发队伍,一贯都做得不错的IDE和对搜索引擎友好,这些优势都不能胡略啊, FLASH在这些确是做得不好
itsusony - 2007-5-15 16:11:00
我只是提供个人感受。
2者都开发一下就知道了

目前相对来说,开发silverlight入门门槛远高于flex。因为单单学一个ajax,就占用大部分时间。关键是没ide,而且平台互不兼容,除非使用prototype的framework。目前javascript工资行情都是6000到8000以上就可以看出数量有多少,因为入门实在太让人抓狂

而flex的ide环境,相对初学者来说绝对是天堂了



再从实用角度讲,光目前的silverlight不支持100%宽度,不支持任何input输入控件,不支持亚洲文字,如果要可行性版本起码等到8月份的silverlight 1.0,3个月时间,一个很大的站都可以做完了,到时候还怎么跟别人竞争。

而silverlight要和现在flex的mxml支持ECMAscript这种程度一样支持c#的话,只有慢慢等到明年暑假,到时候要真等一年,silverlight的后果就跟今天的ActiveX一样,成为鸡肋
alvinediso - 2007-5-15 22:25:00
個人認為,如果FLEX/APOLLO能突破搜索引擎的瓶頸的話,那是非常好的一個東西...
itsusony - 2007-5-16 15:48:00
恩。希望改进mxml机制

不过做复杂的UI都逃不掉动态生成对象。这点无论是silverlight或flex或者是ajax+DHTML,都无法逃避的问题

现在最好的SEO解决方案就是2者互相兼容,在首页做一个普通的页面,里面可以做点站点内容摘要或Top List之类的服务,进行seo优化,然后再在其他地址里面放置采用RIA技术的页面

参考www.yourminis.com
sharekte - 2007-6-4 23:36:00
仅提出几点不成熟的个人看法
1、FLEX的开发不友好,光帮助文档就有不少代码是错误的,无法编译,这是事实,相比之下估计很少有人会说MS的MSDN的帮助文档不够友好和全面吧
2、FLEX开发的应用运行效率低下这也是不太有争议的事实,事实上AS的执行效率跟.NET平台的C#或者VB.NET根本就不是一个数量级别上的概念
3、因为目前还没尝试过WPE,所以打开速度跟FLEX的SWF无法比较
4、作为一个开发架构FLEX FRAMEWORK跟.NET FRAMEWORK还是有很大差距的,至少个人感觉FLEX FRAMEWORK有点混乱的感觉,早在,FLEX2 ALPHA阶段就已经让人受尽折磨
5、源于职业的偏见,始终觉得ADOBE不是做开发工具的,而是做设计软件的,这方面的经验自然无法跟MS比,说点难听的,AS相比C#或者VB.NET更像一个玩具语言
6、当下用FLEX还可以混口饭吃,等一段时间过后WPF若真风行起来,估计FLEX的下场会很惨,毕竟两个平台都是为程序员准备的,真有点常识的会去选哪个
7、关于后台的问题,虽然FLEX目前支持REMOTING,WEBSERVICE,HTTPSERVICE与后台连接,但是现在主流的后台技术上有哪一个是FLEX自家的东西,或许你会说CF,但是国内用CF的寥寥无几,为什么?说到底ADOBE对于做开发平台或者语言还是有先天性缺失的,相比之下WPF完全依赖.NET平台,所以后台整合集成度相对会比FLEX高出很多,这也就间接导致了开发周期上的严重差距,有些时候FLEX是很难调试出与后台连接错误的,ERROR都似是而非,必须要在后台先行确定出错的地方,我感觉FLEX DEBUG后台是相当痛苦的一件事情
8、FLEX来到中国的年份也不算短了,为什么迟迟不出个中文版的FLEX,或者出个中文版的帮助也好,这是我最不爽的地方,看汉语都有点心烦,更不要说看一大堆的英文了
9、SWF打开普遍太慢,所以这要做WEB类开发的话,我想FLEX是永远都不能和HTM相比的,用户不会去忍受长时间等待的
10、最后的话,就目前来讲普遍争议谁好谁不好是没有意义的,即所谓存在的就是有道理的,我并不想引起FLEX和WPF互相排斥,只不过让大家更清楚的比较两者的优缺点,以达到相互借鉴,取长补短的作用
11、个人对FLEX和WPF已经没有什么期待,目前只想看到APOLLO最后成形的样子,有人说它会成为下一个DELPHI,对此我想说的是NO,AS目前来看还没到编译语言的级别,呵呵,所以短期内有这种想法的人就是在YY

好了就这么多了,希望各位多拍砖,把两者的优势跟劣势都整理一下,以便做个取舍的参考
itsusony - 2007-6-8 12:40:00
wpf是和apollo一个等级的。而flex是和silverlight作为竞争对手的。

不过总体来说RIA技术大家都刚开始,出现错误或bug是无法避免的。
至于开发出的应用程序效率来说,用同样的工具来编码,编码习惯的不同,效率也可以相差10倍或更多。
目前的as3相对于as2来说就要高10倍之多,而逻辑层用javascript来写的目前版本的silverlight,近2年来说,只要c#版本的silverlight不出,目前根本不是adobe的对手。

用flex这种UI的framework和系统级别的.net framework来比,个人认为有点欠妥当。不过话说回来,.net framework也不过是个克隆java的版本

要说到后台,根本不需要任何什么fds,一个自己开发的 php或.net 后台加xml或json,足以应付各类系统。

至于swf打开慢不慢的问题,当今web的发展趋势是ria,所以,网速问题根本不需要考虑。只要ui后台逻辑写了好点,分层load,组件用swc打包缓存,速度绝对不会比用dhtml来开发的版本慢。

时间就是金钱,无法想象有谁会为了silverlight而再等至少半年,而当那个时候,是否有默认web controls,还是个迷。微软这次慢了不是一点点。
quan.zhao - 2007-6-8 12:53:00
楼上评论的太好了
言如玉 - 2007-6-11 16:43:00


引用:
原帖由 sharekte 于 2007-6-4 23:36:00 发表
仅提出几点不成熟的个人看法
1、FLEX的开发不友好,光帮助文档就有不少代码是错误的,无法编译,这是事实,相比之下估计很少有人会说MS的MSDN的帮助文档不够友好和全面吧
2、FLEX开发的应用运行效率低下这也是不太......

对于兄台的一些观点个人严重不同意,不想细说。最让我看不懂的是,Apollo怎么会成为下一个delphi?这哪跟哪啊?
wibrst - 2007-6-11 19:40:00
qq群FMS研究社,群号:38663927,欢迎来这里学习讨论FMS:)
kingseed - 2007-11-5 13:43:00
哇 好多牛人 需要崇拜啊:lol
常青 - 2007-11-5 14:58:00
SilverLight的设计与代码分离比flex更彻底!结构要比flex清晰,但是周边工具没有flex丰富,要知道adobe的很多工具都可以flex连成一线,很强大
cimmicola - 2007-11-5 15:40:00
额,这么老的帖子都被翻上来了

提一点就够flex折腾了。silverlight播放器是直接运行xaml源码的……不需要像flex这样编译成swf文件。
55555,我最羡慕的一点啊,我现在的Flex项目已经大的受不了了。
有什么好处?
体积大大减小,跟访问html页面没有区别。
浏览器友善度增强,因为页面内容是可以被搜索到的。
cacimedia - 2007-12-5 5:13:00
别再期待微软了,微软每天研究的只是怎么才能让全球的程序员更累一些
我只用了三天时间去浏览FLEX的文档,第四天就可以进行实质性的开发。
可是微软的东西,总是扩展性太强,强到什么都没有,只有一张白纸和很多代表了扩展性的彩笔,让你每天都能幻想自己哪天突然就变成了出色的画家。直至几个月或者更长时间过去后,你才发现,只有少数人能将那张无限扩展的白纸画完整。
SilverLight最具实质性的内容应该是传输的是xaml而不是类似swf的文件吧,相信ADOBE也很快能实现(如果有必要的时候),毕竟这不是什么新技术,无非是播放器固化多一些功能,增加一些动态编译的功能。
微软的用词总是那么激动人心,.net如此,ajax如此,SilverLight也如此,不知道明天又会是什么
ltian - 2008-5-29 15:25:00


引用:
原帖由 sharekte 于 2007-6-4 23:36:00 发表
仅提出几点不成熟的个人看法
1、FLEX的开发不友好,光帮助文档就有不少代码是错误的,无法编译,这是事实,相比之下估计很少有人会说MS的MSDN的帮助文档不够友好和全面吧
2、FLEX开发的应用运行效率低下这也是不太有争议的事实,事实上AS的执行效率跟.NET平台的C#或者VB.NET根本就不是一个数量级别上的概念
3、因为目前还没尝试过WPE,所以打开速度跟FLEX的SWF无法比较
4、

  我看了Flex相当多的帮助不敢说全看一遍,也看了60%以上,也是运行了里面的代码,很好,文档很清晰,代码很正确,不知道你说的事实是哪些?说句老实话,在计算机软件开发这行的内行人人,没有多少喜欢看中文翻译的。不知道你对Flex的帮助看了多少?
FLEX开发的应用运行效率低下不知道是谁说的,没听过这个事实,似乎在Flex之前没有类似的RIA产品吧,等微软的那个能用了在比较运行效率吧。
另外,微软的那个东西后台如果不能用Java,那么它就失去了半壁江山,至少在大中型的企业开发中没有市场。
如果说ADOBE没有开发工具的开发经验,那么微软又有图形渲染方面的经验吗?别忘了RIA中图形渲染是很重要的一方面。
ltian - 2008-5-29 15:33:00


引用:
原帖由 cimmicola 于 2007-11-5 15:40:00 发表
额,这么老的帖子都被翻上来了

提一点就够flex折腾了。silverlight播放器是直接运行xaml源码的……不需要像flex这样编译成swf文件。
55555,我最羡慕的一点啊,我现在的Flex项目已经大的受不了了。
有什么好处?
体积大大减小,跟访问html页面没有区别。
浏览器友善度增强,因为页面内容是可以被搜索到的。


Flex只要把mxml的编译Swf的程序放到客户端也就能够解决这个问题,不过我觉得意义不大。你可以选择动态编译为SWF。项目做的大小完全和这个没有关系。只何开发设计思路有关系。我的Flex项目也是很大的,是整个企业从生产、到营销、到OA办公。十几个系统,全部完成后会有几百个窗口。在我的项目中,只有一个Application,负责动态加载其他的功能窗口,其他的功能窗口都是Module,那么我可以在客户端动态管理加载的Module优化内存,还可以提高速度。我觉得用任何语言工具,开发大项目的最终代码量都不会小,应该主要从设计角度去考虑解决这些问题,而不是抱怨开发工具。
ufoace - 2008-5-29 15:36:00
flex 的帮助真的很全,很强大
Ericlu - 2008-5-29 15:41:00


引用:
原帖由 ltian 于 2008-5-29 15:33:00 发表
[quote] 原帖由 cimmicola 于 2007-11-5 15:40:00 发表
额,这么老的帖子都被翻上来了

提一点就够flex折腾了。silverlight播放器是直接运行xaml源码的……不需要像flex这样编译成swf文件。
55555,我最羡慕的一点啊,我现在的Flex项目已经大的受不了了。
有什么好处?
体积大大减小,跟访问html页面没有区别。

访问mxml其实还是在服务器端编译成swf送到客户端的
这个问题flex的确现在无法解决
liuefly - 2008-5-30 8:07:00
FLEX如果官方能提供更多的免费包包用就好了!
1
查看完整版本: 正面面对Microsoft SilverLight(WPF/E)! 请大家各抒己见!