代码之家  ›  专栏  ›  技术社区  ›  codebased

西尔弗莱特?WPF?还是Windows窗体?

  •  3
  • codebased  · 技术社区  · 14 年前

    在Silverlight4.0发布了新的WPF之后,我有点困惑于这些技术:Silverlight?WPF?Windows窗体?

    我们希望为大企业项目实现的主要动机如下:

    • 性能

    • 安全性

    • 与平台无关**

    如果我考虑以上三点,那么只有Silverlight是选项,因为我不希望人们在MacOS上购买Emulator for WPF或Windows窗体。

    现在,Silverlight对业务应用程序有多好,我完全反对Silverlight 2.0上市时的做法,但现在它是Silverlight 4.0,它们提供了许多在任何具有挑战性的业务中都需要的新功能(但仍然是基础功能)。
    应用。

    比较Silverlight和WPF

    -*Silverlight和WPF是一种非常新的技术,如果我要比较这两种技术,我会更喜欢WPF,因为它可以被认为是稳定和成熟的。但它和Windows窗体不同。

    -*如果我使用Silverlight,那么我肯定会继续更新到最新版本的Silverlight。我记得当我们为2.0版开发软件时,我们要用动态加载dll创建自己的框架,然后再创建导航概念。但一旦Silverlight 3.0出现,一切都改变了。我不希望这个新产品出现这种情况。

    -*如果我们使用WPF,那么就不能获得平台独立性。

    现在,我们为什么不专注于制造WPF然后转移到Silverlght呢?作为某人(蒂姆?)微软曾表示,其想法是让Silverlight与WPF一样接近。但是如果是这样的话,那么为什么XAML的结构是不同的;我不会因为说用于SL的.NET框架太小而信服。区别来自于名称空间?

    我在搜索这个主题时发现了“Microsoft WPF Silverlight比较白皮书v1.1.pdf”。本指南非常好,向您介绍了我们如何构建在两者上运行的通用应用程序。但同样,它比较的是Silverlight2而不是4。

    我确信许多架构师/开发人员/项目经理必须在他们的前提下面对类似的问题,如果不是这样的话,他们希望发起这个讨论。

    我们还有两个星期的时间来做这个决定,所以我希望每个人都能参加,大师?

    3 回复  |  直到 11 年前
        1
  •  2
  •   Dan Puzey    14 年前

    所有三项技术 可以 根据您对这些术语的定义,使其既具有性能又具有安全性。三者中,只有Silverlight才是真正的跨平台。不过,在我做出任何明智的决定之前,我想知道你的要求是否更详细…

    • 性能是一个重要的考虑因素。您希望应用程序的哪个部分成为性能问题,为什么?了解这一点有助于您了解技术如何解决问题。
    • 安全可能意味着任何事情。您有需要保护的数据吗?应用程序本身是否必须在特权环境中运行?它是多用户应用程序、网络应用程序、可能缓存数据客户端的应用程序等吗?你真的不能因为“不安全”而忽略任何技术——除非你能更严格地定义你的安全愿景。
    • 您真正需要什么级别的跨平台支持?你愿意花多少钱来实现它?大多数企业 他们希望支持多个平台,但成本通常是令人望而却步的。如果你坚持要做一个.NET项目,那么我敢打赌你的技术部门或业务经理不会 真正地 致力于跨平台,但这并不会真正发生。那么,您的意思是“Windows XP/Vista/7”,还是“Windows/Mac/Linux”?

    任何人都可以对这三种技术的一些通用方面发表意见,但是除非您有更详细的需求需要处理,否则没有明确的答案。

        2
  •  1
  •   Peter McG    14 年前

    从2.0版开始,Silverlight已经成为一个更加成熟的平台,并在愤怒中被用于几个大型应用程序,包括上一届奥运会和全球望远镜网络客户端,您可以在线搜索更多的案例研究。

    对于使用Silverlight 4.0和VS2010的业务应用程序,您可以使用Silverlight业务应用程序模板进行初步介绍,下面是一个演练: http://msdn.microsoft.com/en-us/library/ee707360%28VS.91%29.aspx

    Silverlight也是您标题中除Windows以外的操作系统支持的三种技术中唯一的一种(它在Mac上支持,在Linux上通过Mono支持),所以总的来说,它最适合您的需求。

        3
  •  1
  •   David Brunelle    14 年前

    Silverlight仍然是一种Web技术,所以它确实有一些您可以在普通Web应用程序中使用的约束,所以如果这是一个显示阻止器,那么就使用WPF。至于Windows窗体,我很肯定它会在一段时间内使用,但是WPF和Silverlight通常对我来说更好。