目前哪些 Windows GUI 框架值得学习?[已关闭]

2022-09-03 00:20:55

我计划编写一个Windows应用程序来帮助自己完成一些探索性测试任务(笔记,数据生成,缺陷日志记录),而我陷入了选择框架/语言的早期阶段。我唯一的经验是Web开发,据我所知,WinForms,WPF,Silverlight,Swing等都同时过时和繁荣,这取决于你问谁。

虽然我的主要目标是创建应用程序,但显然我想在这样做的同时学习一些有用的东西,而不是通过一些在工作项目中永远不会看到的东西来学习技能。人们会推荐学习哪些Java或C#框架?


答案 1

注意:考虑此答案何时发布(2012年)。从那时起,事情发生了一些变化,例如Silverlight已被弃用。


本机应用程序

就业:嗯,现在大多数公司(至少大多数来自我居住的阿曼和阿联酋的公司)正在慢慢迁移到云端。但是,本机应用程序开发仍有一些机会。现在最苛刻的框架是(不,不是WPF),它是Windows Forms

为什么是普通的旧Windows Forms而不是令人敬畏的WPF?其中一个原因是旧版应用。如今,大多数公司只开始小规模的GUI应用程序项目,主要是业务应用程序。为此,WPF将非常昂贵,因为他们已经拥有一支在Windows Forms方面经验丰富的员工队伍,并且有很多遗留代码,但是对于WPF,他们将不得不创建一个新的代码库,这是非常危险的。因此,让你保持就业的最好办法是Windows Forms。

对于新项目:但是,如果说“值得学习”,你的意思是,新的,雄心勃勃的和迷人的。那么 WPF 可能是您的最佳选择。这取决于您的要求,真的。

现在,对于云。Java FX和Silverlight目前都是正面交锋。然而,Java FX可能具有优势,因为它支持更多的平台。但话又说回来,Silverlight拥有微软的所有权力和资源,它是Windows Phone开发的理想选择。

比较

为了进行比较,以下是每个工具包获得的内容:

Windows Presentation Foundation

  • 微软的力量和资源
  • 非常适合创建新的桌面应用程序
  • 养眼
  • 真棒应用程序接口
  • XAML,将设计与逻辑分离的最佳方式
  • 为云创建应用程序(但它们仅适用于带有.NET的Windows)
  • Windows Phone 可以运行 WPF 的子集

Windows 窗体

  • 曾经拥有微软的权力和资源,现在WPF拥有
  • 维护旧版应用程序的理想选择
  • 训练有素的劳动力,如果你是一个企业家
  • 相当成熟的 API
  • 支持比 WPF 更多的平台(通过单声道)

Java FX

  • 为云创建应用
  • 由甲骨文提供支持
  • 相当不错的 API
  • 跨平台,在大多数PC上运行,智能手机是一个问题。

银光

  • 为云创建应用
  • 由微软支持
  • 非常棒的API
  • 断续器
  • 跨平台,在Mac和PC上运行,在Windows Phone上运行。

GTK#

  • 跨平台,在大多数PC上运行,无需智能手机运行。
  • 以开源世界为后盾
  • 由Mono认可
  • 非常适合为侏儒创建应用程序。

秋千

  • 跨平台,在大多数PC上运行,智能手机是一个问题。
  • 相当成熟
  • 非常适合使用 Java2D 创建 2D 游戏

结论

正如你所说:

虽然我的主要目标是创建应用程序,但显然我想在这样做的同时学习一些有用的东西,而不是通过一些在工作项目中永远不会看到的东西来学习技能。

好吧,你最有可能在工作中看到的框架(如果你不为微软,甲骨文,谷歌等主流公司)是Windows Forms和WPF。至少这是大多数公司在这里使用的。所以这些是我推荐的。JavaFX和Silverlight看起来也有潜力,可能会在不久的将来使用。


答案 2

WPF.对Windows的最佳支持。顺便说一句,它并没有过时。


推荐