【问题标题】:Windows Application vs Web Application developmentWindows 应用程序与 Web 应用程序开发
【发布时间】:2010-12-02 07:13:26
【问题描述】:
只是想更彻底地了解 Windows(桌面)应用程序和 Web 应用程序开发之间的主要区别。我所有的知识和经验都是作为一个 web 应用程序开发人员,使用 c# 和 .net 框架。我很想知道开发人员在这两个领域(即 WPF(桌面)开发)熟练掌握是否很常见。
Windows 应用程序开发是否遵循不同的方法、测试方法等?当我想到安装 Windows 应用程序之类的事情,以及安装应用程序以使用的用户,以及软件如何更新时,似乎这类开发所涉及的流程更加结构化,并且“出错的空间更小” ”。
您是否认为没有 WPF 经验或 windows 应用程序经验但具有 .net 背景的人有足够的知识来自信地设计和开发 WPF 应用程序(作为团队负责人),或者如果一个项目出现这种性质的人,那么是否应该寻求具有交付 WPF 应用程序经验的人?
【问题讨论】:
标签:
asp.net
wpf
windows
web-applications
desktop-application
【解决方案1】:
我曾在丰富性和开发时间方面工作过 WinForms 让 Web 脱颖而出,特别是因为 ClickOnce 等技术大大减少了部署难题。使用 winform,您只需针对平台编写代码,无需考虑大量其他因素。
整个请求/响应通常,IMO 很麻烦,有时甚至不可靠,更不用说要支持的浏览器数量不断增加,开发标准的不同以及页面生命周期的学习曲线,哦,当然还有广告的增长趋势溅了一地。
然而,Web 应用程序给我们带来的东西超出了 WinForms 的预期,因此,尽管存在学习曲线和增加的开发时间,但收获是显而易见的。
我们(我想大多数组织)倾向于将 Windows 应用程序用于管理目的,其中需要在最短的时间内提供丰富的用户界面,毕竟,当可能有 99 个 Web 服务器资源时,为什么还要浪费每个用户 PC 上的可用 CPU 百分比...?
【解决方案2】:
在许多不同的层面上既有区别也有相似之处,但我发现一个非常重要的区别是 Web 应用程序的基于请求的性质与 Windows 应用程序的更多状态性质的区别。我看到一些开发人员(主要是那些朝相反方向发展的开发人员)很难理解这一点。
【解决方案3】:
我认为,对于任何平台,最好有一位至少具有一定经验的首席开发人员。 WPF 是一个相对较新的平台,因此很难找到具有 WPF 经验的首席开发人员。
作为一名 Web 开发人员,您实际上使用 WPF 可能比具有 WinForms 经验的人做得更好,因为您不会为如何最好地构建 Windows 应用程序的先入之见而苦恼。几年前,我参加了葡萄牙语课程,我发现我学习葡萄牙语的时间比以西班牙语为母语的人要容易得多。因为这两种语言非常相似,所以它们不断地滑回西班牙语。
【解决方案4】:
网络应用程序
- Web 应用程序或 webapp 是通过网络通过 Web 浏览器访问的应用程序
例如 Internet 或 Intranet
- 它是一种计算机软件应用程序,以浏览器支持的语言(例如
HTML、ASP、PHP、Perl、Python 等)并依赖于通用的 Web 浏览器来呈现应用程序的可执行文件。
- Web 应用程序在托管时非常有用。网络应用程序。可以通过互联网从世界任何地方访问。
- Web 应用程序主要针对浏览器兼容性和操作系统兼容性、错误处理、静态页面、后端测试和负载测试进行测试。
- Web 应用程序是用于在某些 Web 服务器(例如 IIS)内运行以通过 http 满足用户请求的程序。
- 常见的 Web 应用程序包括 Webmail、在线零售、在线拍卖、wiki、讨论板、博客
Windows 应用程序
- 为在 Microsoft 的 Windows 操作系统下运行而编写的程序。
- Windows 应用程序通常在所有 32 位版本的 Windows 下运行,但早期的应用程序也可能在 16 位版本 (Windows 3.x) 下运行。
- 在个人计算机和工作站上运行。
- 基于窗口的应用程序。需要安装在您的机器上才能访问。
- 需要在每个客户的 PC 上安装 Windows 应用程序(桌面)。
- Windows 应用程序比 Web 应用程序运行得更快。
- 与 Web 应用程序相比,Windows 应用程序在 .Net 中有许多内置类。
【解决方案5】:
我没有任何 WPF 经验,但我很擅长 WinForms,并且我也做过一些 Web 应用程序。
根据我的经验,两者之间的最大区别在于了解表单的生命周期是如何工作的,并且能够区分具有不同含义的相同术语(即表单卸载事件)。我发现这真的很令人困惑,来自 WinForms 背景。