最有效的终端用户界面:Winforms/WCF与Web浏览器访问



我需要做的是满足我的竞争对手,并"更新"我的winforms应用程序,使其可以通过在线服务完全访问。

我不确定是重新编码我的winforms应用程序,使其使用WCF/Odata访问数据库,还是整个应用程序需要重新编写为webforms应用,并将数据库移动到托管网站。考虑到我的编码经验,后面的选项可能是这两个选项中更困难的一个。目前,数据库位于最终用户PC上,winforms应用程序为最终用户提供100%的访问权限。还有一个网络接口,为最终用户的客户提供预订、他们自己的用户详细信息等访问权限。该网络接口在最终用户PC上自行托管。

关于向最终用户提供数据,我提出的winforms应用程序从远程托管数据库VERSUS(完全托管的网络表单/数据库应用程序)检索和使用数据之间是否存在明显的时间差?在我冒险之前,这种差异可以量化吗?

Web与桌面是一个巨大的主题。

我的两分钱:

Web:

1-优点:

  • 可从各种设备(PC、Mac、智能手机、平板电脑)访问
  • 无需安装
  • 只需要服务器部署/更新

2-缺点:

  • 无状态(例如,这意味着没有客户端缓存)
  • 对客户端计算机功能(文件系统等)的控制较少
  • 浏览器地狱(UI在每个浏览器上的外观/行为都不同)
  • 由于到处都是糟糕的javascript,很难编写代码
  • 基于Web的漏洞(如XSS等)

.Net Windows桌面:

1-优点:

  • Stateful(您可以在客户端中缓存大量数据)
  • 对客户端计算机功能的更多控制
  • 在每台机器上看起来都一样
  • 由于有状态的特性和无javascript(hooray),因此更易于编写代码

2-缺点:

  • 仅适用于Windows。没有智能手机,没有Mac,没有平板电脑
  • 需要客户端安装(可能包括.Net Framework安装)
  • 需要服务器+客户端更新(使用ClickOnce更容易)

也就是说,winforms是一项非常古老的技术,没有人再关心它了,它不支持任何东西。使用一些CSS可以使Web应用程序看起来和感觉都很漂亮。无论你如何努力改进winforms,它看起来都很难看。

如果您选择Windows Desktop路线,您宁愿将应用程序升级到WPF。

最新更新