何时在Web界面和本机GUI之间进行选择?

时间:2009-03-15 18:41:00

标签: web-applications interface desktop

我们今天所知的许多应用程序(特别是网络的应用程序,例如文件共享,SQL查询程序,一些多人游戏)可以通过使用Web界面轻松提供。

我的问题是我应该何时使用浏览器访问应用程序?

当使用使用Qt,Visual Basic等接口构建的桌面应用程序时,这是明智的。

9 个答案:

答案 0 :(得分:3)

网络界面的一些要点:

  • 当程序需要时 从另一台计算机管理 网络
  • 当更快速发展 需要速度(通常写Qtml / javascript比Qt / Gtk更快等)
  • 保持程序交叉 尽可能兼容平台

答案 1 :(得分:2)

这个问题没有一般性答案。这取决于一些因素:

  • 您的目标群体 - 是广泛传播还是合并?
  • 可移植性 - 您的用户在哪些平台上工作?
  • 效果 - 是否需要大部分内容?如果是,桌面应用程序会更好。我无法想象在浏览器中运行的视频编辑软件。也许在10年内:))
  • 以及必须单独计算的更多内容

但趋势显然是基于网络的应用程序。你可以和很多人见面。

答案 2 :(得分:1)

我越来越认为我们应该使用基于Web的,javascript(或flex)接口作为默认接口。它意味着应用程序映像中的代码少得多,而且它允许一个代码库做得很好,而不是几个代码库,呃,做得不太好。

如果您构建一个Web界面,那么您永远不会需要一个单独的项目来构建Web界面。

使用现代浏览器,javascript和ajax以及javascript库,您可以构建一个非常丰富的界面,可以轻松更改。

答案 3 :(得分:1)

我认为这是错误的问题。您需要做的是分析平台之间的差异以及它们对组织的影响。为了给你一个真实世界的例子。

我曾在一家只建立过基于Web的应用程序的小公司工作过。其中一个应用程序没有成功,部分原因是我们有很多拨号用户,需要离线支持。

该公司继续开发了一个.net客户端应用程序,他们得到了一个粗鲁的觉醒。该公司没有准备好部署到任意数量的客户端配置的复杂性。例如,我们得到了Novell Networks的一些信息。他们没有准备好支持客户端应用程序的增加成本。 (是的,开发已经提醒并试图警告他们这意味着什么)。

因此,您不仅需要提出各种问题,还需要在制作软件的组织环境中对其进行评估。

要问的问题包括:

  1. 首先,formost是否可以将您的应用作为网络应用运行?有些应用程序是不可行的。如果您需要访问低级资源,那么您的选择就不多了。
  2. 您能承受客户端软件的维护成本吗?如果这是一个分布式应用程序,当您更新服务器但未更新客户端时会发生什么。
  3. 你能支持客户吗?
  4. 团队构建软件有哪些经验?这是巨大的恕我直言。无论团队在构建Web应用程序方面有多么优秀,他们都会在客户端开发人员不会做的客户端应用程序中犯错误。

答案 4 :(得分:1)

如果您可以控制环境(Intranet)或程序到运行该程序包/应用程序的环境(跨平台版本),则只能使用桌面应用程序。

现在看看趋势,一切都在浏览器内部,与桌面应用程序相比,我们获得了同样良好的交互。运行应用程序所需的只是浏览器,这总是好的,我们只能问用户有一个正确的版本,他已经准备好使用它了。

答案 5 :(得分:1)

根据我的经验,我发现网络应用程序通常需要更多时间来开发,但在开发Web应用程序方面有一些优势。

  1. 您不必部署基于Web的应用程序
  2. 人们通常更习惯使用网络浏览器而不是自定义应用程序,因此应用程序通常会获得可用性
  3. 通常,由于界面的原因,用户更容易找到他们在Web应用程序中寻找的内容。
  4. 您只需要使用少量浏览器进行测试,就可以避免测试可能存在冲突的大量客户端配置。
  5. 使用Web应用程序,您无需关心客户端可能使用的操作系统。例如,假设您的公司决定将其桌面计算机移动到Linux,您将不必构建新版本。
  6. 您应该开发桌面软件,如果您需要快速开发的东西,或者您需要性能/响应式界面(Web仍然比桌面慢)或者您正在开发无法在Web上完成的东西(想想图形)软件/复杂游戏)。

答案 6 :(得分:1)

要开发应用程序,最好分割客户端和服务器代码。在桌面应用程序中,通常情况并非如此。处理用户交互的客户端代码与处理用户命令的服务器代码集成在一起。但是,不必仅仅拆分代码并通过TCP / IP进行通信。

接下来的问题是,您的客户端代码应该在浏览器中运行还是作为本机GUI运行。对我来说,原生GUI更好,原因有很多: - 跑得更快 - 客户端和服务器代码的编程语言相同 - 减少对软件组件变化的依赖:浏览器,html,css,web服务器

大多数GUI框架都是多平台的。

唯一的缺点是您需要在计算机上安装客户端软件。如果您想避免在服务器上安装客户端,并通过终端服务器程序(如Citrix)进行访问。

当然,如果您的应用程序很少被其用户使用,那么Web应用程序最有用。

大型软件公司花费数百万美元将GUI更改为Web,而不向其应用程序添加任何其他功能。大多数时候界面变得更原始。所以这是一个巨大的浪费钱,这仍在继续。所以不要总是跟着牛群。

答案 7 :(得分:0)

如果您的应用的UI可以作为一个表现良好的Web服务/应用程序实现,您应该认真考虑它作为一种选择。

可以在浏览器中运行的UI的最大好处是它独立于客户端操作系统。如今,大多数计算机用户通常在网络中连接多台计算机。不同操作系统的分布每天都在变大(Windows的替代品正在获得更大的市场份额)。因此,您可以获得UI的最大可移植性。您的应用程序可以在一台计算机上启动一次,并可以从任何地方访问。

答案 8 :(得分:0)

随着本机和Web开发的改进,GUI部分甚至可移植性都变得不那么重要。对于本机应用程序,最大的因素是何时需要较低的硬件访问权限,或者浏览器的安全保护机制是否阻碍了开发人员。也许最重要的是,如果您的应用程序需要性能并且计算量很大,这种类型的应用程序需要并行编程(例如在财务应用程序中),那么您确实需要本机应用程序。如果您的应用程序不需要这些适合您的口味的选择,那么有很多开发人员可以使用任何技术对这些应用程序进行编程。