【问题标题】:Smart clients easier to maintain than web apps?智能客户端比 Web 应用程序更易于维护?
【发布时间】:2010-09-25 14:11:53
【问题描述】:

我一直在从事一个有 2 个界面的项目 - Windows 窗体和 Web。在过去的 8 个月里,我们在维护我们的网络应用程序方面遇到了更多问题(在 IE 中而不是在 FF 中工作,ajax 以一些不易调试的奇怪方式中断......)等等。

另一方面,winform 应用程序易于安装。我们有一个 xcopy 版本并单击一次部署它,允许用户单击浏览器中的链接进行下载和安装。当我们升级应用程序时,我们需要做的就是将其发布到服务器并发送电子邮件带链接。 当用户点击下载链接时......他们有一个新版本......所需要的只是 2.0 运行时。

现在潮流正在转向智能客户端吗?

编辑:浏览器现在是否会导致困扰客户端应用的网络应用问题(平台太多......并非所有平台都遵循相同的标准)?

编辑:Web 应用程序必须在多达 4 个浏览器上进行测试(更不用说 IE - IE 6、IE 7 和 IE 8)。而智能客户端在框架之上运行,因此它们不需要在所有操作系统上进行测试。

【问题讨论】:

    标签: web-applications smartclient


    【解决方案1】:

    我自己对这个问题有一些经验。我发现的一件事是,一些业务和软件管理人员将 Web 开发的浅层学习曲线* 误认为是廉价的开发成本。如果您的项目要求足够轻,那么构建和部署 Web 应用程序可能会更便宜,但我发现与开发桌面应用程序相比,让 Web 应用程序变得更复杂会成为一个巨大的痛苦。人们求助于 Flash 或 AJAX 等技术来弥补差距,但有时编写一个在本地运行并发出 Web 请求的应用程序比将 UI 作为网站提供要简单得多。

    .NET 的积极营销无疑有助于扭转局面。 :) 我有一些客户并不真正关心应用程序是在本地运行还是作为网站运行,只要它使用 .NET 平台即可。这使得将 WinForms API 轻松用于那些真正的 UI 繁重的项目,这些项目会导致作为 Web 应用程序的噩梦。

    * “浅学习曲线”是指 Web 开发人员可以从 HTML 和 CSS 开始,一点一点地混入 JavaScript,然后从那里转向 PHP——所有这些工具与 C++ 或从新手的角度来看 C#。

    【讨论】:

      【解决方案2】:

      我们的 Intranet 实用程序有一个 PHP 网站。自 2 年以来,我们一直在使用 ClickOnce 切换 C# 应用程序,每个人都喜欢使用桌面应用程序。更新是自动完成的,开发团队已将所有 GUI/Visual 时间减少到大约 70%。我们可能会取得如此高的水平或成功,因为大多数计算机都几乎相同(所有相同的操作系统和几乎所有相同的配置)但是很好:对我们来说是成功。希望这段经历能给你一些帮助,帮助你做出决定。

      【讨论】:

        【解决方案3】:

        也许潮流正在变成银光?

        但智能客户端的部署通常非常简单(点击一次)。

        【讨论】:

          【解决方案4】:

          传统上,Web 应用程序的优势在于它们很容易跨平台,并且部署不再是问题。

          使用 ClickOnce 等技术,部署变得不那么麻烦......因此,如果您的应用只需要针对一组有限的平台,它确实可以提供一致、可控的用户体验。

          【讨论】:

            【解决方案5】:

            编程范式是钟摆。事情会转移到胖客户端,然后再转移到瘦客户端。

            以云计算机为例——分布式计算已经存在了 30 多年。但现在它是“新”的,因为我们已经在它上面加上了一个俗气的名字。

            Web 2.0 现在in,但它会退出,“智能”客户端会重新加入。然后“Web 3.0 - 这次会有更多的口哨声”会出现,并推动“聪明”出来。

            已经发生的事情将再次发生,已经完成的事情将再次发生;太阳底下没有新鲜事。

            【讨论】:

              【解决方案6】:

              像 java web start 这样的东西自千年以来也存在,但它没有起飞......

              从程序员的角度来看,这些技术绝对是更好的方法。要在 Web 上创建应用程序,您实际上只是在胡闹。他们有一天会起飞吗?只有时间会给出答案。不过我希望如此。

              【讨论】:

              • 我认为 Java Web Start 受到 Swing 美学和 Java 怪物之类的困扰......我的意思是,老实说......
              【解决方案7】:

              当您控制客户端群时,您可以更好地控制您的应用,并且胖客户端可以在这些域中正常工作(尤其是在企业环境中的防火墙后面)。

              但是您的 winform 应用程序依赖于:操作系统、.NET 安装等。因此,只要您运行的是 Windows 和兼容的 .NET 框架,就可以了。但显然,随着客户的进步,这些假设将需要保持。

              除了“奇怪的 Ajax 问题”,如果您要求每个人都使用相同的浏览器(就像您要求每个人都使用 Windows 和 .NET),那么这些不兼容问题就会“消失”。

              显然,Ajax 开发和浏览器不像其他开发模型和工具套件那样成熟,但它正在变得更好,而且速度非常快。浏览器平台的成熟度,尤其是在这个新领域,是“Fat Ajax”模型的主要缺陷。

              但是,我们现在有四家主要公司/组织非常努力地推动此模型,并认为“Fat Ajax”模型将继续提高标准,使其成为更广泛应用的更好选择。

              【讨论】:

              • 我同意强制使用某些浏览器会解决很多问题,但用户切换到“推荐浏览器”的可能性很小。另一方面,创建一个 winform 应用程序会强制用户下载该应用程序(前提是他们有运行时)。
              • 我真的认为微软没有更多地整合 .NET 是一个很大的错误。将它作为一个简单的可选下载仍然让许多人觉得 MS 并没有致力于成为一个严肃的开发平台。我听说很多 IT 经理因为这个原因而犹豫是否安装 .NET。
              • 好吧,这就是游戏。只要您可以“强制用户”,那么您就可以控制可能使开发和部署变得困难的差异。部署的基础越开放,您遇到的问题就越多。
              【解决方案8】:

              在我看来,为各种浏览器编写代码并不像试图让原生 GUI 应用程序在 mac、windows 和 *nix 上正常运行一样困难(更不用说 *nix 领域的各种窗口平台)。但是如果你只需要支持比较现代的windows电脑,你可能有一点。

              【讨论】:

                猜你喜欢
                • 2019-06-04
                • 2021-11-19
                • 2010-09-18
                • 2014-04-27
                • 2011-03-29
                • 2019-08-19
                • 2010-12-08
                • 1970-01-01
                • 2020-01-12
                相关资源
                最近更新 更多