主题:有个东西我一直没看懂,请大家给说说. -- james
这些东西都是老东西了,微软2006年就推出了Workflow foundation, communication foundation, presentation foundation.
WCF俺挺喜欢,整合以前的.net remoting, web services, 还披了件外套给COM+,加上Message Queue,都整到一起,用起来方便了,也算是现在微软在SOA上做得一个大改进.
Workflow foundation,我是挺糊涂的,没用过,也不知道什么情况下用比较合适.
这WPF挺好,可是为啥要有一个XBAP呢?这个东西虽然是在浏览器的沙盒里运行,可一样需要全部的.net framework,如果要利用全部的WPF的资源也不可能,因为在browser sandbox里面,要说跨平台,他对平台的要求不比WPF的应用程序差,而且跨平台的不是有那个silver light了么?要这个XBAP是干嘛的呢?
同学们给说说.
本帖一共被 1 帖 引用 (帖内工具实现)
WPF顾名思义就是做应用程序界面的一套API了
但是目前的应用程序通常分为本地应用和浏览器应用
于是.NET的设计人员就想通过一套SDK统一本地应用和浏览器应用的开发
(以前Windows Form和Web Form只是在底层统一,表示层并未统一)
但本地应用和浏览器应用的环境差别太大,实在很难统一到一起去;例如说本地应用可以认为全是Windows+.NET Runtime,但是浏览器应用可能是IE,也可能是FF;又例如说本地应用考虑权限问题比较简单——当前用户权限是啥就用啥,最多再来个run as,浏览器应用就麻烦大了,可能连当前用户都不知道
所以就弄出来一个XBAP,介于应用和.NET Runtime之间用来使开发者不用关注于其他方面
而且能够实现跨浏览器的应用
同样的一个WPF应用,如果要在FF上跑,只要有XBAP Helper for firefox就好了
至于XBAP和Silverlight,这个是两个不同层次的东西
按照当初技术人员脑子里面的判断,即便是浏览器应用也要分成重本地负载的和轻本地负载的
重本地负载的就类似于SmartClient了,轻本地负载就类似于Flash(此比喻很不严肃,切勿当真)
看到Flash的流行,.NET的设计人员深感眼红
于是就弄了个Silverlight
尚有一个疑问,XBAP的应用必须系统安装了.net framework,所以这也就极大的限制了XBAP的跨平台的性能,而放在沙盒中的WPF也不能使用所有.net framework的功能, 这样看起来,XBAP的地位岂不是很尴尬?
或者将来互联网速度快了下载一个.NET Runtime很方便或者将来.NET Runtime会越做越小或者将来会有简化版本的
其实XBAP的地位并不是很尴尬,因为更轻量级的表示层平台(这个是我自己杜撰的名词),例如Flash/Silverlight/JS想提升其功能有很大的障碍
还不如直接在.NET上面做一个专门的半轻量化表示层平台呢,于是就出来了XBAP