我们正在构建Silverlight 4 LOB应用程序。但是,我们担心并非所有客户都能够支持Silverlight。例如,我们的大多数客户都是大公司,他们的IT部门可能没有授权将Silverlight安装在用户计算机上。我们的一些客户可能会在用户计算机上安装64位版本的IE。这两种情况都会阻止我们的客户使用我们的应用程序。
为了解决这种可能性,我们希望以这样一种方式构建我们的应用程序,即如果我们不得不回到那个位置,它可以很容易地作为WPF应用程序托管。无论客户使用什么,我们的中间层和后端都是一样的。
我们最初将构建我们的应用程序作为Silverlight应用程序。 WPF版本稍后会出现。我的问题是这个。在构建我们的Silverlight应用程序(UI)时,我们应该采取什么预防措施,以确保应用程序可以轻松移植到WPF应用程序(使用ClickOnce)?
答案 0 :(得分:2)
WPF(足够接近)是Silverlight的超集,所以从Silverlight到WPF应该比从另一个方面更容易。只要您使用的MVVM框架抽象出任何平台特定的功能,那么移植代码将会简化(我建议Caliburn.Micro)。
Rocky Lhotka(CSLA业务对象框架的作者)对Silverlight和WPF之间的一些差异有很好的blog post,以及在定位这两个平台时需要考虑的事项。
答案 1 :(得分:0)
Silverlight 5将解决您的一个问题,因为SL5插件可以在64位IE中运行。 从silverlight移植到wpf应该不会太难。你可以做的一件事就是防止可能的问题是获得第二方ui控件库,它们同时适用于silverlight和wpf。只有当你看到来自客户的真正推迟时,我才会开始使用silverlight并转向wpf。