基于Web的应用程序有哪些缺点?

4

我将为我所在的营地编写一个数据库应用程序。我考虑使用C#编写具有Windows GUI界面的应用程序,但是使用浏览器作为应用程序似乎越来越具有吸引力,因为有各种原因。我想知道的是,为什么有些人不选择将应用程序编写为Web应用程序。例如,返回按钮可能会给您带来麻烦。还有其他任何人能想到的问题吗?


请更具体一些。告诉我们情况,我们可以告诉您您的潜在Web应用程序可能存在的缺点。 - Dustman
13个回答

0

使用Web应用程序时,当您在服务器上存储用户数据时,会涉及更多的隐私问题。您必须确保不会丢失/泄露数据,并且您的用户必须对将数据存储在您的服务器上的想法感到舒适。

除此之外,还有许多安全问题,例如中间人攻击,XSS或SQL注入。

您还需要确保手头有足够的计算能力和带宽。


0

例如,返回按钮可能会给您带来一些麻烦。

在这方面,您必须具体说明。很多人在他们的Web应用程序中犯了基本错误,并在处理事务时引入了错误。如果您不使用“提交后重定向”(也称为Post-Redirect-Get,PRG设计),那么您就会创建一个错误,它会出现为返回按钮的问题。

一个笼统的说法是返回按钮有问题是不太可能成立的。一个具体的例子将澄清您对此的具体问题。


这种态度相当令人恼火。你好像在暗示“哦,当然返回按钮永远不会有问题,你是个白痴。”这简直是愚蠢的。说“返回按钮可能会给你带来麻烦”根本不等于“天哪,返回按钮根本无法解决!” - BobbyShaftoe
@BobbyShaftoe:抱歉你认为我对细节的请求不够认真。我从未遇到过问题,也不知道他们(除了标准的提交后重定向)在说什么。如果他们在谈论提交后重定向,那么这个问题在我看来已经解决了。我正在寻求帮助。 - S.Lott

0

如果您正确地设计应用程序,则返回按钮并不是什么大问题。您可以使用 AJAX 操纵当前页面的部分,而不会在浏览器历史记录中添加项目(因为页面本身不会改变)。

设计 Web 应用程序的最大问题与状态有关,并且需要解决各种挑战。使用桌面应用程序处理状态非常容易,您可以保持数据库连接打开,锁定记录并等待用户进行更改和提交。但是,在 Web 应用程序中,您可以锁定记录...但是如果用户关闭了浏览器怎么办?在设计应用程序时必须克服这些问题。

设计 Web 应用程序时,请确保每个到服务器的请求“独立”并提供完整的答案。始终在执行任何工作之前重新初始化变量,并且不要假设任何内容。我曾经遇到的一个挑战是将网格数据的“页面”返回给用户。在一个真正繁忙的系统中,实时发生记录添加/修改,从一页到另一页的用户导航会有很大变化,有时甚至会导致查看几条记录的相同集合,因为新添加的记录在查询之前。


没错,但是有整个JavaScript框架来处理AJAX下的历史记录和“后退按钮”。 - BobbyShaftoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接