Windows应用程序与Web应用程序开发

10

我想更深入地了解Windows(桌面)应用程序和Web应用程序开发之间的主要区别。我的所有知识和经验都是作为Web应用程序开发人员,使用C#和.NET框架。我想知道开发人员是否通常在两个领域都有技能,即WPF(桌面)开发。

Windows应用程序开发是否遵循不同的方法论、测试方法等?当我考虑安装Windows应用程序以及安装应用程序使用的用户时,还考虑软件如何更新,似乎这种类型的开发涉及的流程更加结构化,"容错率"更低。

您认为一个没有WPF或Windows应用程序经验,但具有.NET背景的人是否有足够的知识来自信地设计和开发WPF应用程序(作为团队负责人),或者如果遇到这样的项目,应该寻求那些拥有WPF应用程序交付经验的人?

5个回答

2
我在两种技术中都有过工作经验,就丰富性和开发时间而言,WinForms比Web更胜一筹,特别是像ClickOnce这样的技术大大减少了部署方面的麻烦。使用winforms时,你只需要针对平台编码,而不必考虑其他大量因素。
整个请求/响应通常很繁琐,有时也不可靠,更不用说要支持越来越多的浏览器、各种标准和页面生命周期的学习曲线,还有广告泛滥的趋势。
然而,Web应用程序带给我们的远远超出了WinForms所能实现的范围,所以尽管存在学习曲线和增加的开发时间,但也有明显的回报。
我们(我想大多数组织机构也是如此)倾向于在管理方面使用Windows应用程序,因为需要在最短的时间内获得丰富的用户界面,毕竟,当每个用户的PC上可能有99%的可用CPU时,为什么要浪费Web服务器的资源呢?

1

在许多不同层面上都存在差异和相似之处,但我认为一个非常重要的区别是基于请求的 Web 应用程序与更具有状态的 Windows 应用程序之间的区别。我见过一些开发人员(主要是那些朝相反方向移动的人)很难理解这一点。


1

我认为,无论使用哪个平台,最好有一个至少具有一定经验的首席开发人员。WPF是一个相对较新的平台,因此很难找到有WPF经验的首席开发人员。

作为一个Web开发人员,你可能比有WinForms经验的人做得更好,因为你不必为如何构建最佳的Windows应用程序而苦苦挣扎。几年前,我学了葡萄牙语,我发现我比母语西班牙语的人更容易学习这门语言。因为这两种语言非常相似,他们总是会滑回到西班牙语。


1

网络应用

  1. 网络应用或Webapp是一种通过网络(如互联网或内部网络)使用Web浏览器访问的应用程序。
  2. 它是一种计算机软件应用程序,编写在支持浏览器的语言中(如HTML、ASP、PHP、Perl、Python等),并且依赖于通用的Web浏览器来渲染应用程序。
  3. 网络应用程序在托管时非常有用。Web应用可以通过互联网从世界任何地方访问。
  4. 网络应用主要测试浏览器兼容性和操作系统兼容性、错误处理、静态页面、后端测试和负载测试。
  5. Web应用程序是运行在某些Web服务器(例如IIS)内部以满足用户通过http发出的请求的程序。
  6. 常见的Web应用包括Webmail、在线零售销售、在线拍卖、维基百科、论坛、博客等。

Windows应用程序

  1. 一种编写在Microsoft的Windows操作系统下运行的程序。
  2. Windows应用程序通常在所有32位版本的Windows下运行,但早期应用程序也可能在16位版本(Windows 3.x)下运行。
  3. 在个人电脑和工作站上运行。
  4. 基于窗口的应用程序需要安装在您的设备上才能访问。
  5. Windows应用程序(桌面版)需要安装在每个客户端的PC上。
  6. Windows应用程序运行比Web应用程序快。
  7. Windows应用程序在.Net中有比Web应用程序更多内置类。

0

我没有任何WPF经验,但我擅长WinForms并且也做过一些Web应用程序。

在我的经验中,两者之间最大的区别是了解窗体生命周期的工作方式,并能够区分具有不同含义的相同术语(例如,窗体卸载事件)。从WinForms背景出发,我发现这真的很令人困惑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接