我们需要创建一个可以通过浏览器使用的应用程序,但也可以在离线时使用.
我们的客户将使用浏览器版本进行计算.每个客户都需要使用用户名和密码登录应用程序.
离线版本将由我们自己的员工使用.他们需要能够在未连接到网络的情况下使用此版本.
应用程序所需的数据将存储在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?)
开发一个Backendsystem,为您的客户提供REST-API(使用ASP.NET WebApi作为示例),并使用现代HTML / CSS / JavaScript框架开发浏览器客户端应用程序.如果需要/需要使用WPF的桌面应用程序,它使用REST-API.