首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022年WPF过时了吗?

2022年WPF过时了吗?

原创
作者头像
用户7152477
修改2022-05-05 11:55:25
7.9K0
修改2022-05-05 11:55:25
举报
文章被收录于专栏:CSharp编程CSharp编程

从业人员数量分析:在操作系统市场份额中Android系统市场占比为41.14%,Windows市场占比为31.36%。微软依靠“WinTel”+“软件付费”模式,而谷歌依靠“Android+ARM”+"免费流量+增值服务"模式,Win系统占率呈下滑态势。国内90%开发者都在使用JAVA,Python等其它开发语言,按照工信部公布程序员从业数量在600万左右,C#程序员编程语言排行榜占6%计算保守估计有36万人,推算WPF从业人数在5万人以上。 优势:由于微软官方工具Prism仍在更新(2021年5月),很多企业不会马上迁移到最新的操作系统的理由:太花钱,太费时间,风险太大,迁移数据,开会并学习对业务,同时还要解决新语言开发debug问题。 劣势:大学几乎没有开这门课程,导致不能推动WPF向前更好发展,企业难招到合适的WPF程序员,很多企业面临选择其它开发语言。

WPF是开源的 微软在计划发布 .NET Core 3.0 Preview 1 的同一天开源了 WPF、WinForms 和 WinUI。开源只不过是一种安排,社区可以以错误修复和功能的形式为技术做出贡献。事实证明,微软通过这种方法支持开源,并且通过开源 WPF表明它关心自己的未来。GitHub 的现有 WPF 实现没有从 Microsoft 发布的任何源,但它已对那里的存储库做出反应,其中名为 WPF for .NET Core。这显然意味着其中的代码库以 .NET Core 平台为目标。 微软2022年路线图 微软已经为 2022 年的 WPF 制定了路线图,并表示与 . NET Framework及其目标是随着 .NET Code 3.0 的发布而设定的。路线图的计划侧重于要完成的工作,以确保所有组件都可用。同样,他们正在努力验证来自社区的拉取请求并将其合并。 .NET Core 的影响 Microsoft 新版本的 .NET Core 3.0 专注于为新一代 .NET 添加 WPF 支持。此更新将为您提供一个机会,您可以让您的应用程序使用特定版本的 .NET 框架,而不是依赖于客户设备上的版本。 现在这是来自微软的一件大事,它正在从 WPF 转向 .NET Core。这一举动清楚地说明了微软看到了 WPF 的未来,并将其视为 .NET 平台的 UI 框架。Microsoft 通过使其开源并使其在 .NET Core 上运行,确实在 WPF 上投入了大量资金。 这一举措的明显好处之一是,如果您想构建WPF 应用程序,您不再需要停留在 .NET 框架中。这意味着就像自 .NET core 1.0 以来后端开发人员对前端技术的选择一样,现在您对WPF 应用程序开发也有同样的选择。 WPF 应用程序仅在 Windows 上运行,因为它利用了许多 Windows 特定的功能。这同样适用于在 .NET 核心平台上运行的 WPF 应用程序。由于 .NET 核心以跨平台框架而闻名,它有点不直观。但是如果你看看 WPF 的历史,你就会明白这里的事情是有道理的。 关于现有应用程序 当涉及到现有应用程序时,我们怀疑是否需要将其移至 .NET 核心。这不是必要的,而是一种选择。根据微软的建议,新项目应该建立在新形成的 .NET Core 平台上。这里可以保留对业务不重要且处于维护模式的现有遗留应用程序。(完整的).NET 框架仍可供开发人员使用。 .NET Core 用于桌面开发的优势 您的应用程序将在从头开始构建的最新 .NET 技术上运行时表现良好。.NET Core 不具备一些无法从(完整).NET 框架中删除的遗留内容。这一切都使它更加高效。 通过使用不同的 .NET Core 版本,您可以同时运行您的应用程序。这样,您的应用程序就变得独立于 .NET 框架,该框架可以安装在您或您客户的设备上。 Visual Studio中为使用 .NET Core平台的应用程序开发的新功能可以通过这种方式访问您的SDK、工具和新项目文件格式。 在这里,您可以用更少的精力构建应用程序,最终将为您节省大量时间和金钱。当您正在寻找持续交付和持续集成时,这尤其适用。 结论 我个人认为,WPF仍然是2022年为.NET Framework和.NET Core构建应用程序的有价值且相关的框架。如果您有一个熟悉这些工具的团队或公司,为什么不利用这个优势呢?使用新的东西,只是因为它有成熟的框架?对我来说没有任何意义。 如果我处于现有应用程序的情况,我会仔细评估每个应用程序迁移到.NET Core是否有意义以及这样做需要付出多少努力。 一个重要的方面是 WPF周围有一个庞大的生态系统。有一些UI框架,例如:Newbeecoder.UI开源控件库,可以进一步增强功能。还有一些MVVM框架可以帮助您解耦视图逻辑和业务逻辑。

视频内容

Demo下载:

Newbeecoder.UI.zip

并且由于WPF已经存在了很长时间,因此可以认为它是稳定的。在以后的每个版本中都不会出现重大更改,常用组件中也不会出现低级的错误。 如果WPF是一个选项,这取决于新项目的要求。对于 Windows桌面客户端,WPF仍然是一个可行的选择。 上面提到的替代方案为我们提供了许多不同的选择。尽管Web和移动设备正在蓬勃发展,但围绕Windows桌面应用程序开发仍然有一个非常健康的生态系统

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档