我们需要创建一个可以通过浏览器使用但也可以在离线时使用的应用程序。
我们的客户将使用浏览器版本进行计算。每个客户都需要使用用户名和密码登录应用程序。
离线版本将由我们自己的员工使用。他们需要能够在未连接到网络时使用此版本。
应用程序所需的数据将存储在 XML 文件中。
我们主要使用 C# 和 .NET-Framework 进行编程。我们考虑将 WPF 用于客户端版本。
我读到您可以使用 Silverlight 或 XBAP 来创建 WPF 应用程序的浏览器版本。 AFAIK Silverlight 是一项垂死的技术。 XBAP怎么样?你还会投资这项技术吗?
另一种解决方案是创建两个前端应用程序:作为离线应用程序的 WPF 应用程序和作为 Web 应用程序的 Web 应用程序(例如 ASP.NET MVC)。想一想,这意味着我们将不得不创建两个前端(更多的工作)。
还有其他选择吗?
创建一个 HTML/JavaScript 应用程序会更好吗(例如使用 AngularJ 或类似的东西)?
最佳答案
作为前 Silverlight 开发人员,我只能推荐 不使用 Silverlight 用于新的应用程序开发。 Microsoft 已暂停 Silverlight 的进一步开发,您将不会获得任何新功能(仅安全修复)。我真的很喜欢这项技术以及与 WPF 的相似性,但对我来说它已被弃用。
甚至某些浏览器(如 Chrome)不再支持 Silverlight,您需要一种解决方法才能使其运行(另见 Chrome doesn't support silverlight anymore? How to solve this?)
开发为您的客户端提供 REST-API(以 ASP.NET WebApi 为例)的后端系统,并使用现代 HTML/CSS/JavaScript 框架开发浏览器客户端应用程序。如果需要/需要使用使用 REST-API 的 WPF 的桌面应用程序。
关于wpf - 我还应该使用 Silverlight/XBAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880760/