2013-03-06 26 views
0

我有Silverlight应用程序,它具有相同的代码基础的Windows和Web。因此,相同的代码通过Silverlight浏览器插件在Windows和浏览器上运行。一些业务逻辑在ViewModel中。迁移Silverlight

微软将不会支持Silverlight,因此我们希望为此应用程序提供未来战略。我们想知道我们可以使用哪种silverlight替代方案,并通过最少的代码更改来帮助我们。

以下是对新选择的一些期望。即,它应该

  1. 有无UI代码碱相同于网站/窗口
  2. 重用逻辑在的ViewModels。

我听说使用html5作为替代方法,请告知在这种情况下使用html5或其他我们可以使用的东西。

回答

0

Silverlight是在Windows和Web之间共享代码的好方法。首先,我会问你为什么要维护两个不同的应用程序。你有没有考虑过将它们统一到一个基于Web的应用程序中?

带有.NET后端的HTML 5通常会成为您的最佳跨平台方法,因为您已经编写了后端代码。通过维护一个平台,您不必将任何工作翻倍。这将满足要求#1和#2。

我知道这是从你现有的代码库的范式转变,但我已经经历了这种类型的转换。它进行得相当顺利,我很高兴我们做到了。感谢像Knockout.js和jQuery这样的客户端库,使用HTML 5应用程序替换Silverlight比以往更容易。

如果你仍然想让他们分开,我不知道如果没有比我提到的策略更多的工作,你将如何实现这一目标。作为替代方案,您可以继续使用该应用程序,因为它处于当前状态。 Silverlight仍然是一个可行的解决方案。我会说你有足够的时间来规划你的策略。

+0

我们有2个版本,因为桌面版本与硬件交互,并且在客户端前端的产品点胶系统上运行。所以在这种情况下,如何选择诸如系统的工具/技术。我们只是想尽可能减少返工和重复使用。谢谢... – krishna 2013-04-04 10:04:29

0

这听起来像你只是远离了Silverlight,因为你认为它不会被支持。请注意,微软已保证Silverlight 5 will be supported until 2021,因此它不会很快死亡:它只是不会得到新的版本。

如果你想从Silverlight切换,因为你想支持不运行Silverlight的平台,比如智能手机,那么ASP.NET基本上就是重用任何业务逻辑的唯一方式,在Windows应用程序和Web应用程序之间获得大量代码重用,当然不会在ui代码中使用。

所以,基本上:要么保持Silverlight,如果这将满足您的要求,否则像一个单一的Web应用程序,如杰森杨建议,这可能是最好的选择。