我需要做的是满足我的竞争对手,并"更新"我的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。