何时编写基于Web的应用程序以及何时编写基于桌面的应用程序?

时间:2008-12-20 01:07:29

标签: web-applications desktop-application

现在是时候为基于网络的应用程序编写所有内容了吗?写Web应用程序比基于winforms的应用程序慢?

何时编写基于Web的内容以及何时编写基于桌面的内容?

5 个答案:

答案 0 :(得分:9)

您应该将所有应用程序与逻辑编写在一个单独的层中,以便您可以根据不断变化的业务决策轻松编写Web界面或winforms界面。

更严肃的说明。当您需要大量用户访问和更改大量共享数据时,您应该创建一个Web应用程序。您应该在共享数据非常少的情况下构建桌面应用程序,或者在数据共享足够简单以便来回发送文件时就足够了。 Web应用程序通常更难以正确使用,因此您应该只在必要时承担额外的工作。对于编程权而言,还有很多工作要做,维护应用服务器和数据库需要做更多的工作。但是,Web应用程序可以立即更新,因此您可以从小事做起,每个使用该应用程序的人都可以在完成后获得新功能和修复。所以你必须决定哪个更重要。无论你选择哪种方式,都会有一些权衡。

答案 1 :(得分:2)

就像一切 - 有时间和地点。您可以根据项目的需求选择体系结构。所有情景都没有正确的解决方案。

如果我需要大量用户使用低功耗机器来访问高性能数据存储,我倾向于编写Web应用程序。如果我正在编写实用程序应用程序来与文件等进行交互,那么我将编写一个WinForms应用程序。所以这真的取决于......

此外,如果您正在编写一个需要大量即时反馈给用户的高度交互式应用程序,那么编写WinForms应用程序通常更容易/更快,而且维护起来更简单......但是,权衡是它很难推广到大型公司,许多机器需要访问该软件......所以你需要开始考虑如何在Web应用程序中实现该功能。

没有“正确”的方式来做这件事并且没有“错误”的方式 - 这是审查项目要求和评估可用技术并在当时做出最佳决策的问题。

答案 2 :(得分:0)

您是否已探索过创建Smart Client

的选项

答案 3 :(得分:0)

我曾在需要两种类型应用程序的项目中工作过,如果您不想担心安装和/或客户端配置,那么所有这些都与您的要求有关,您正在寻找基于Web的应用程序,但如果应用程序需要高响应性和大量计算,那么您应该在WinForm应用程序中思考,如前所述,分层应用程序将帮助您重用代码。这也是一个你应该考虑许可限制的商业应用程序

答案 4 :(得分:-1)

看看WPF / Silverlight。它解决了这个问题。如果您必须在客户端PC上访问某些内容,那么当然,瘦客户端上的独立规则(至少目前为止)