编写可以切换到Web的桌面程序

时间:2010-08-18 10:10:13

标签: .net algorithm web-applications user-interface desktop-application

我被要求在.net和MSSQL中编写桌面应用程序以保存记录。我必须建立表格,以保存15页或更多与单人相关的记录。我可以分离数据层和表示层。

未来我正在计划。我的客户会在几个月或一年之后要求在asp.net中将其设置为[基于web]的应用程序。那时我再次需要重新构建整个Web界面,即表示层。

所以我想知道是否有任何想法,因此当时将最小化工作以构建Web界面?或者我可以直接将桌面界面更改为Web界面吗?

3 个答案:

答案 0 :(得分:1)

WPF和XBAPs可能适合您。虽然Silverlight可以与WPF共享代码,但它们是二进制不兼容的。 XBAP和完整桌面WPF客户端应用程序可以共享二进制文件,因此您可以在一个库和视图中编写视图模型,即。两个不同库中的表示层。一个托管为WPF客户端应用程序,另一个托管为XBAP。

这不会为您提供基于HTML的ASP.Net层,但它仍允许您的客户端仅在一个Web服务器上部署XBAP,并让用户通过URL使用它。这为您的客户提供了同样的好处,即只需要维护一个基于HTML的ASP.Net应用程序就可以获得的安装。

这样做的缺点是WPF比基本的WinForms有更陡峭的学习曲线,但它更好地支持表示和数据(或模型/视图/ ViewModel)之间的清晰分离,而不是WinForms。

另外,作为一个个人观点,一旦你开始学习WPF,用WinForms漏洞的COM抽象来编写代码要好得多。

答案 1 :(得分:0)

你考虑过WPF和Silverlight吗?

答案 2 :(得分:0)

我认为您应该考虑根据N-Tier Data Applications Overview ...

构建您的桌面应用