现在是时候为基于 Web 的应用程序编写所有内容了吗?编写 web 应用程序比基于 winforms 的应用程序慢?
何时基于 Web 编写,何时基于桌面编写?
现在是时候为基于 Web 的应用程序编写所有内容了吗?编写 web 应用程序比基于 winforms 的应用程序慢?
何时基于 Web 编写,何时基于桌面编写?
您应该在一个单独的层中编写所有具有逻辑的应用程序,以便您可以根据不断变化的业务决策轻松编写 Web 界面或 winforms 界面。
更严肃的一点。当您需要大量用户访问和更改大量共享数据时,您应该创建一个 Web 应用程序。当共享数据非常少时,或者当数据共享简单到通过电子邮件来回发送文件就足够了时,您应该构建桌面应用程序。Web 应用程序通常更难正确处理,因此您只应在必要时承担额外的工作。编程权限需要做更多的工作,维护应用程序服务器和数据库需要做更多的工作。但是,Web 应用程序可以立即更新,因此您可以从一些小事开始,并且每个使用该应用程序的人都可以在完成后获得新功能和修复。所以你必须决定哪个更重要。无论您选择哪一种,都有一些权衡取舍。
这就像一切 - 有时间和地点。您可以根据项目的需求选择架构。没有适用于所有情况的正确解决方案。
如果我需要大量使用低功耗机器的用户来访问高性能数据存储,我倾向于编写一个 Web 应用程序。如果我正在编写实用程序应用程序来与文件等进行交互,那么我会编写一个 WinForms 应用程序。所以这真的取决于...
此外,如果您正在编写一个需要大量即时反馈给用户的高度交互的应用程序,那么编写 WinForms 应用程序通常更容易/更快,并且更易于维护......但是,权衡是它更难推广到一家大型公司,那里有很多机器需要访问该软件......所以你需要开始考虑如何在 Web 应用程序中实现该功能。
没有“正确”的方法,也没有“错误”的方法——这是一个审查项目需求和评估可用技术并在当时做出最佳决策的问题。
您是否探索过创建智能客户端的选项
我曾在需要这两种类型的应用程序的项目中工作过,如果您不想担心安装和/或客户端配置,那么这一切都与您的要求有关,您正在寻找基于 Web 的应用程序,但是如果该应用程序需要高响应性和大量计算,那么您应该在 WinForm 应用程序中考虑,如前所述,分层应用程序将帮助您重用代码。这也将是一个商业应用程序,您应该考虑许可限制
看看 WPF/Silverlight。它解决了这个问题。如果您必须在客户端 PC 上访问某些内容,那么当然,瘦客户端上的独立规则(至少目前如此)