2009-07-21 57 views
37

我非常熟悉完整的WPF客户端应用程序的许多细节。我知道WPF客户端应用程序支持完整的.NET Framework 3.5,允许2D和3D图形,主题,模板,样式,触发器和作品的硬件加速。WPF vs XBAP vs Silverlight ...哪个适合商业应用?

我不清楚XBAP和Silverlight应用程序中存在或缺少哪些功能和/或细节。我听说XBAP由于安全问题而在某些方面受到本质限制,但这就是关于它的原因。

我知道WPF足够健壮可用于全面的商业应用程序,但XBAP和Silverlight如何?每个的重要功能和局限性是什么?它们中的任何一个都缺乏在商业应用程序中使用时无法使用的功能?

回答

17

Wintellect的写了Silverlight和WPF之间的比较不错发表这里: http://wpfslguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28278

从WPF和Silverlight的个人经验来看,我发现SL完全适用于LOB应用程序。 .NET RIA Services是SLB for LOB应用程序的优秀补充。为了回答你最后的问题,我的经验并没有让SL回到创建LOB应用的过程中。在本次讨论中,WPF和SL之间唯一显着的区别是,SL无法访问客户端计算机上的本地资源(如注册表),并且无法访问WPF可以使用的Windows特定功能,例如Windows 7跳转列表或库。我认为Silverlight是商业应用程序的最佳选择,因为易于部署并能够定位多个平台。

+0

非常有帮助,谢谢! – Pwninstein 2009-07-21 18:34:19

+0

2012复习:silverlight 5现在支持可信应用程序,打印支持和其他有趣的新LOB功能。万寿银光。 http://stackoverflow.com/questions/7788099/silverlight-5-comprehensive-list-of-improvements-changes – felickz 2012-01-03 20:12:36

9

我没有使用XBAP的经验,但我的印象与您的印象相似,因为与WPF相比,它的安全性受到限制。对于Silverlight:我最近使用它开发了一个复杂的农业遥测监控用户界面 - 它比传统的商业应用程序更像是一个数据可视化应用程序,但它有很多的CRUD,并没有一个单一的功能我想实现,但不能因为我选择的技术。那是SL2。

我敢肯定,如果您使用XBAP,并且如果您可以保证您的用户运行.NET 3.5(或者XBAP也是3.0的一部分?),那么您最终会收到更多铃声&?为了它。否则,我不会推荐Silverlight。 (如果你的道歉想要更多功能比较矩阵的 - 但我认为你可以找到那些在微软)

+0

+1不需要道歉,好的答案!谢谢! – Pwninstein 2009-07-21 18:26:27

12

关于Silverlight,我会概述我迄今的经验。 (注意:重新阅读这听起来有点负面,但我指出缺少的功能。总的来说,我喜欢Silverlight,一个使用c#?Rocks的浏览器中的丰富UI)。

值得注意的区别是没有右键单击,鼠标滚轮支持,打印功能,您无法打开新窗口。您的OOB SL应用程序不能位于通知区域。您可以在JavaScript中处理鼠标事件,但如果您希望应用程序移动OOB,则不会。

SL团队似乎也过分担心安全问题,以至于嘲讽其LOB适用性(没有新窗口,用于OOB中本地系统访问的信任设置,通知区域等)。

其中一些使Silverlight应用程序觉得它不是Windows兼容的。考虑高亮文本,右键单击复制。或者右键单击粘贴。这些很多人使用的基本操作都不见了。它也感觉像一个外星人的UI体验,例如你本能地用滚轮滚动一个网格,它不起作用。这些东西适用于浏览器的任何表格,但不适用于SL。

明智的编程方式,我没有使用WPF,但据我所知,在如何解决某些问题方面存在一些重大差异。

SL中缺少标记扩展。它也只有整数索引绑定,所以没有一些属性没有一些技巧。 没有触发器,所以你总是必须编写代码来连接事件(在更动态的页面中刺激) 。除了工具包中的ImplicitStyleManager之外,它没有可继承的样式,这是不适合工作的。

因此,对于某些LOB应用程序而言,这很好,对于其他人来说,您必须跳过几个箍环(例如,如果您希望客户端可自定义)。但这对于所有LOB应用程序来说肯定不是很好。

我的印象是,SL感觉还不完整,还有很多小问题。例如,数据网格令人沮丧(不自动伸展,子类很难),自动填充框有点不稳定,导航框架有点笨拙,组合框/树视图很难绑定(如果你想要,它们确实没有整理出来将SelectedItem绑定到与itemsSource不同的对象)。总而言之,Silverlight几乎就在那里,只要你准备接受一些限制和小问题,就没有问题。

+0

SL3具有原生样式继承,触发器和类似于WPF的行为。同意不打印支持:这对LOB应用程序来说是一件坏事。在关于系统托盘/鼠标事件(除了我想要的车轮之外)的围栏上 - 因为SL也在Mac上运行。 (授予大多数网络用户是Windows。) – 2009-07-22 15:59:49

18

我试图做一个相当雄心勃勃的项目约18个月的全职XBAP开发,并绝对讨厌它。

有许多未记录的限制,例如无法设置自定义鼠标光标。 MS忘记告诉任何人关于那一百人的信息。因为那个雷区,我现在非常反对沙盒。我认为MS正在竭尽所能地杀死XBAP,转而支持Silverlight。但是,在这种情况下,Firefox仍然没有好的故事,即使在3.5 SP1之后仍然存在问题)。我不责怪他们,只是希望他们对此更开放。我想避免像瘟疫 XBAPs。这是一个没有未来的死亡场景。如果他们很快就会被弃用,他们也不会感到惊讶。

相关问题