我还应该使用Silverlight / XBAP

时间:2015-10-01 06:26:59

标签: wpf silverlight offline xbap

我们需要创建一个可以通过浏览器使用的应用程序,但也可以在离线时使用。

我们的客户将使用浏览器版本进行计算。每个客户都需要使用用户名和密码登录应用程序。 离线版本将由我们自己的员工使用。他们需要能够在未连接到网络的情况下使用此版本。 应用程序所需的数据将存储在XML文件中。

我们主要使用C#和.NET-Framework进行编程。我们考虑过将WPF用于客户端版本。 我已经读过您可以使用Silverlight或XBAP来创建WPF应用程序的浏览器版本。 AFAIK Silverlight是一种垂死的技术。 XBAP怎么样?你还会投资这项技术吗?

另一个解决方案是创建两个前端应用程序:作为离线应用程序的WPF应用程序和作为Web应用程序的Web应用程序(例如ASP.NET MVC)。想一想,这意味着我们必须创建两个前端(更多的工作)。

还有另一种选择吗? 创建HTML / JavaScript应用程序(例如使用AngularJ或类似的东西)会更好吗?

2 个答案:

答案 0 :(得分:7)

作为以前的Silverlight开发人员,我只能建议不要使用 Silverlight进行新的应用程序开发。 Microsoft已暂停Silverlight的进一步开发,您将无法获得任何新功能(仅限安全修复程序)。我真的很喜欢这种技术和WPF的相似之处,但对我来说它已被弃用了。

即使是一些浏览器(如Chrome)也不再支持Silverlight,您需要一种解决方法才能让它运行(另请参阅Chrome doesn't support silverlight anymore? How to solve this?

开发一个Backendsystem,为您的客户提供REST-API(使用ASP.NET WebApi作为示例),并使用现代HTML / CSS / JavaScript框架开发浏览器客户端应用程序。如果需要/需要使用WPF的桌面应用程序,它使用REST-API。

答案 1 :(得分:5)

Silverlight可能正在消亡,但这并不意味着你应该避免使用它。 Silverlight仍然是一种可以使用的可行技术,但浏览器趋势似乎正在逐步取消Silverlight支持。据我所知, Microsoft Edge 浏览器不再支持Silverlight,因此您需要使用 Internet Explorer 。这不是世界末日,但需要思考。

对于 WPF ,这也是由 Windows Universal Apps 替换,虽然速度很慢。然而,这并不是一个问题,因为您在WPF中学到的技能很容易转移。 WPF本身没有像以前那样接收新功能,你可以说它已经完成了

跟上最新潮流并不总是那么容易,而且总会有一些很酷的时尚,但有一件事是肯定的, .NET平台,包括新重构的通用应用程序API 将继续存在,并且不会很快死亡

目前的趋势是 Web Technologies ,例如 ASP.NET 比传统的桌面/平板电脑/手机应用程序扮演更重要的角色。我想说开发Web浏览器肯定是一个受欢迎的选择。

话虽如此, Windows Universal Apps 也是一个不错的选择,事实上,任何使用.NET Framework的技术都是理想的选择。

至于我的建议,我建议查看一个桌面应用程序(如WPF)的 ASP.NET Web应用程序或 Web API (仍然是一种可行的技术)对于企业应用程序)或通用Windows应用程序可以挂钩。一个理想的情况是两个应用程序共享相同的后端代码,这当然可以使用.NET Framework。

根据您的要求,甚至可以避免必须完全创建桌面应用程序,Web应用程序可以托管在本地网络上的计算机上,客户端仍然可以使用Web应用程序。这假设这些客户当然没有互联网接入。

TL; DR:.NET是合法的,使用ASP.NET。