我要写入一个数据库应用程序,用于营地我的工作。我在想把它写在C#有窗户界面,但是使用浏览器中的应用似乎更多和更appelaing于各种原因。什么我不知道是为什么有人会选择不写的应用程序作为一个网络应用程序。前。后背的按钮可能会导致一些麻烦。是否还有其他事情ayone能想到的?

有帮助吗?

解决方案

有很多缺点:

  • 速度和反应能力往往会明显差
  • 复杂的用户界面部件(例如树控制),都是很难做的
  • 渲染形的任何种类是非常棘手的事,3D图形更是难上加难
  • 你要周围的混乱的登录名
  • 中央服务器装置的客户总是需要的网络访问
  • 安全限制可能会导致你的麻烦
  • 浏览器的不兼容性可能会导致大量的额外工作
  • UI公约的少定义上网的用户可能发现难以利用
  • 客户端存储是有限的

问题是..做的不够的那些适用于项目进行网络出错误的选择?

其他提示

这里没有提到的一件事是生成一个好的Web应用程序所需的复杂性和知识水平。问题是,除非你做的事情非常简单,否则没有“单一”的问题。进入这些应用的知识或技术。 例如,如果您要为某个客户端服务器平台编写应用程序,则可以使用Java或C ++进行开发。对于复杂的Web应用程序,您可能必须具备Java,Java Script,HTML,Flash,CSS,Ajax,SQL,J2EE等方面的专业知识。此外,基于Web的应用程序的组件也更多,Web应用程序服务器,HTTP服务器,数据库,浏览器..是典型的组件,但可能会有更多..客户端服务器应用程序是典型的只是它说...客户端应用程序和服务器应用程序。我的经验和个人偏好不是基于网络的。基于网络对许多事情都很好。但即使我是一家领先的公司的IT架构师,它完全沉浸在Web应用程序中作为一切的解决方案......缺点仍然很多......我做的事情是技术将发展并且缺点会随着时间推移而消失

基本上,真正的限制只是通过平台,即浏览器。如果您必须考虑当前使用的所有浏览器,由于每个浏览器的标准不同,可能会很麻烦。

如果可以控制使用哪个浏览器,即每个人都在您在网站上控制的计算机上,并且说您在所有这些计算机上安装了firefox,那么您可以充分利用最新的Javascript和CSS标准。内容传递。

[edit]您还可以查看adobe集成运行时或“AIR”等选项。作为一个选项,允许您使用传统的基于浏览器的选项(如xhtml / css / javascript,flash / flex)编写前端代码,并将后端连接到您的数据库在线,同时还提供传统桌面应用程序的功能

我在Web应用程序中看到的最大区别和缺点是状态管理。由于Web本质上是无状态的,因此每个要维护的东西都必须在每次请求和响应时从服务器来回发送。如何在页面大小和性能方面有效地存储和检索它有时很难做到。事实上,浏览器没有真正的标准(至少不是每个人都遵守),这使得一致性确实..........有趣。

您需要具有对将要启用Web应用程序的服务器的网络访问权限(如果应用程序将有多个用户 - 通常就是这种情况)。

实际上,有更多的优点而不是缺点 - 如果你能提供一些关于你的申请的细节,我们可以帮助更多......

完全取决于项目的要求。在大多数情况下,这些天没有太多的Web应用程序无法做到。不可否认,某些应用程序确实属于桌面浏览器(虽然目前正在迅速发展),但仍然尚未完全存在。随着 Google文档等应用程序的出现, Gmail

网上没有太多你无法做到的事情。但是,如果您正在创建“魔兽世界”的竞争对手,那么网络肯定不是最佳解决方案。不幸的是,遗憾的是,我们需要更多地了解您为营地建立的应用程序。关于网络的最好的部分是任何拥有浏览器的人都可以使用您的应用程序。

Web应用程序将处理委托给远程计算机。根据处理量,这可能是一个骗局。考虑一个照片编辑器,它是一个网络应用程序。

Web应用程序也无法处理来回客户端的大量数据。你可以在线观看视频..当它被压缩时。在我们看到任何基于网络的视频编辑软件之前,还需要一段时间。

浏览器兼容性也很麻烦。您无法100%控制应用程序的外观。

Vaibhav有一个很好的观点。你的申请是什么?

一个主要的问题是迁移的停机时间......用户不会期望应用程序永远停机,但实际上它将不得不用于主要升级。使用桌面应用程序执行此操作时,用户(或最终用户系统管理员)可以控制何时进行升级;使用在线应用程序,他们不是。

对于拥有大量数据的应用程序,性能可能是一个主要问题,因为您集中存储了大量用户的数据,这意味着IO性能将不如您给它们所有的那样好笔记本电脑。

通常,可伸缩性会给基于服务器的应用程序带来问题。桌面应用程序可以很好地扩展。

你可以做很多有一个基于网络的应用程序,但这是一个很容易做某些事情有厚厚的客户:

  • 性能:你得到简单的访问要的全部功能的客户的CPU。
  • 响应:交互性是快速和容易的。
  • 图形:你可以很容易地使用图形图书馆例如安装和载于建立快令人印象深刻的图形。
  • 工作与当地的文件
  • Peer-to-peer

决定是否网的应用是一个好的方法取决于你是什么努力来实现。但是这里有一些更为一般的弊的网络应用程序:

  • 真正的融合与桌面应用程序(例如Outlook)是不可能的
  • 拖间应用和桌面/其他运行的应用程序

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

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

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

"实施例。后退按钮可能会给您带来一些麻烦。“

你必须对此有所了解。许多人在他们的Web应用程序中犯了根本性的错误,并在如何处理事务中引入了错误。如果您不使用“发布后重定向”, (也称为重定向后获取,PRG设计),然后你已经创建了一个错误,它显示为后退按钮的问题。

一揽子声明,有问题的后退按钮不太可能是真的。一个具体的例子可以澄清你的具体问题。

如果正确设计应用程序,后退按钮确实不是什么大问题。您可以使用AJAX来操作当前页面的各个部分,而无需在浏览器历史记录中添加项目(因为页面本身不会更改)。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top