我一直致力于一个有两个界面的项目 - 窗体和网页。在过去的8个月里,我们在维护网络应用程序方面遇到了更多问题(在IE中工作,而不是在FF中,ajax以一些不易调试的奇怪方式打破......)等等。 / p>
另一方面,winform应用程序易于安装。我们有一个xcopy版本,点击它一次部署,允许用户点击浏览器中的链接进行下载和安装。当我们升级应用程序时,我们需要做的就是将它发布到服务器并发送电子邮件有一个链接。 当用户点击下载链接时...他们有一个新版本......所需的只是2.0运行时。
潮流现在正转向智能客户吗?
编辑:浏览器现在是否会引起困扰客户端应用的网络应用程序(太多平台......并非所有平台都遵循相同标准)的问题?
编辑:Web应用程序必须在多达4个浏览器上进行测试(更不用说IE-IE 6,IE 7和IE 8)。智能客户端运行在框架之上,因此他们不需要在所有操作系统上进行测试。
答案 0 :(得分:2)
我自己也有过这方面的经验。我发现的一件事是,一些商业和软件管理人员将网络开发的浅薄学习曲线误认为是廉价的开发成本。如果您的项目要求足够轻,那么构建和部署Web应用程序可能会更便宜,但我发现,与开发桌面应用程序相比,制作Web应用程序更复杂的阈值变得非常痛苦。人们转向使用Flash或AJAX等技术来缩小差距,但有时候编写一个在本地运行并发出Web请求的应用程序比将UI作为网站提供要简单得多。
.NET的积极营销无疑有助于扭转局面。 :)我的客户并不关心应用程序是在本地运行还是作为网站运行,只要它使用.NET平台即可。这样可以很容易地将WinForms API用于那些会导致梦魇作为Web应用程序的真正UI重型项目。
*“浅学习曲线”是指网络开发人员可以从HTML& CSS,混合使用JavaScript,从那里继续运行到PHP - 从初学者的角度来看,所有这些都是C ++或C#的友好工具。
答案 1 :(得分:1)
也许潮流正在变为银光?
但智能客户端的部署通常非常简单(clickonce)。
答案 2 :(得分:1)
传统上,网络应用程序的优势在于它们很容易跨平台,部署成为无问题。
借助ClickOnce等技术,部署不那么麻烦......因此,如果您的应用只需要针对一组有限的平台,那么它确实可以提供一致,可控的用户体验。
答案 3 :(得分:1)
我们的Intranet实用程序有一个PHP网站。我们使用ClickOnce在C#应用程序上使用了2年以上的交换机,并且每个人都喜欢使用桌面应用程序。更新自动完成,开发团队将所有GUI / Visual时间减少到约70%。我们可能有这么高的水平或成功,因为大多数计算机都是相同的(所有相同的操作系统和所有相同的配置)但很好:我们的成功。希望这段经历可以帮助您做出决定。
答案 4 :(得分:1)
编程范例是钟摆。事情将转回胖客户端,然后再转回瘦客户端。
以云计算为例 - 分布式计算已经存在了30多年。但现在我们已经把一个俗气的名字放在上面,这是“新的”。
Web 2.0现在 ,但它会出现,“智能”客户端将重新进入。然后“Web 3.0 - 这次有更多Whistles”将出现,并推动“聪明的“出去。”
将会再次发生什么,将会再做些什么;在阳光下没有什么新东西。
答案 5 :(得分:0)
自千禧年以来,像java web start这样的东西也存在,但它没有起飞......
从程序员的角度来看,这些技术肯定是更好的方式。要在网上制作应用程序,你真的只是在乱砍。他们会在一天起飞吗?只有时间会给出答案。我希望如此。
答案 6 :(得分:0)
当您控制客户端时,您可以更好地控制您的应用程序,而胖客户端可以在这些域中很好地工作(特别是在企业环境中的防火墙后面)。
但是你的winform应用依赖于:操作系统,.NET安装等等。因此,只要你运行Windows和兼容的.NET框架,你就会很好。但显然随着客户的进步,需要保持这些假设。
除了“奇怪的Ajax问题”之外,如果你强制要求所有人使用相同的浏览器(就像你要求每个人都使用Windows和.NET一样),那么这些不兼容问题就会“消失”。
显然,Ajax开发和浏览器并不像其他开发模型和工具套件那样成熟,但是它变得更好,而且非常快。浏览器平台的成熟,特别是在这个新领域,是“Fat Ajax”模式的主要不利因素。
但是,我们现在有四家主要的公司/组织在这个模型上非常努力,并且认为“Fat Ajax”模型将继续提高它的范围,它是更广泛的应用程序的更好选择。
答案 7 :(得分:0)
在我看来,编写各种浏览器并不像尝试让本机GUI应用程序在mac,windows和* nix上正常运行(更不用说* nix land中的各种窗口平台)那么困难。但是如果你只需要支持相对现代的Windows计算机,你可能会有一点意义。