user-interface - 与桌面应用程序相比,开发网络应用程序有哪些好处和挑战?

标签 user-interface

我与经理之间存在一些问题,因为他们认为(直观地)创建桌面应用程序比创建 Web 应用程序更容易(因为限制较少)。但在我看来,由于一些原因,它变得更加困难:

  • 桌面应用的文献比网络应用的文献少得多
  • 对面板和按钮进行编码比使用声明性方法 (HTML) 更困难
  • http 的无状态本质迫使您以请求/响应的方式重新思考

我正在寻找有关 GUI 与桌面应用程序的可靠推理。我坚信,由于我使用某些工具包的经验,桌面更难开发,但如果有人愿意以其他方式回应,请随时为您的推理提供基础。

<小时/>

编辑:我恢复了原来的问题,因为有人编辑了它并且丢失了原始内容。如果有人选择编辑问题,请发表一些有意义的评论,这样我至少可以知道为什么某些部分被更改。

最佳答案

大多数答案(无论如何)似乎都集中在该选择的实现难度上。应用程序(无论是桌面应用程序还是基于 Web 的应用程序)的整体目标都是为最终用户提供服务。 一定是讨论的起点。

在大多数情况下,Web 应用程序根本无法提供与桌面应用程序一样丰富的交互式体验。由于可用的小部件、网络延迟、您的应用程序窗口必须(通常)位于另一个应用程序中等等,存在太多限制。

话虽这么说,很多时候界面不需要大量的小部件,网络延迟并不是什么大问题,并且从浏览器窗口内运行是一个优势。 gmail 和 Stack Overflow 是不需要特别丰富的界面的基于 Web 的应用程序的主要示例。

因此,在尝试决定使用哪种技术时,首先要考虑用户。他们需要高性能、丰富的用户界面吗?他们是否需要能够轻松地通过网络与其他人共享数据?这是一个他们每天会使用八小时的应用程序还是只是偶尔使用的应用程序?他们主要会用它来编辑本地文件或通过网络与人们协作吗?

对于那些说“网络应用程序总是更好”的人,让我问你这个问题:想想你每天使用的工具。您的文本编辑器、编程 IDE、浏览器、电子邮件客户端。其中哪些是网络应用程序?可能没有,除了您的电子邮件客户端。您不希望使用基于 Web 的 IDE 来编写软件(或写书,或进行严肃的图像处理)是有原因的。

这一切都归结于用户及其目标是什么。有时,基于 Web 的 UI 可以最好地满足他们的需求,有时则使用桌面 UI。有时两者都可以。当然,您还需要权衡分发和更新、跨平台可用性等选项,但这一切都始于用户及其目标。如果您专注于满足最终用户,答案可能会变得相当明显。

关于user-interface - 与桌面应用程序相比,开发网络应用程序有哪些好处和挑战?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/788788/

相关文章:

android - 创建标准的 Android 首选项对话框

Ruby:在 Qt 中创建一个简单的应用程序

java - Android,如何模糊/玻璃/霜当前 Activity

asp.net - 最佳 AJAX 框架

android - 透明对话框在某些设备上不起作用

python - 带有打开端口扫描器按钮的 GUI

java - 如何使用 UML 为图形应用程序建模?

适用于类似 Office 2013 的 Windows 的 Windows GUI 库?

java - 无法将鼠标监听器添加到包含列表的 JScrollpane

java - 如何在java GUI中锁定内部框架