目前哪些Windows GUI框架值得学习?

Dav*_*ave 16 c# java windows user-interface

我打算编写一个Windows应用程序来帮助自己完成一些探索性测试任务(笔记记录,数据生成,缺陷记录),并且我在选择框架/语言的早期阶段陷入困境.我唯一的经验是网络开发,从我所看到的,WinForms,WPF,Silverlight,Swing等都同时过时和蓬勃发展取决于你问的对象.

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

App*_*ker 22

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


原生应用

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

为什么普通的旧Windows窗体而不是令人敬畏的WPF?遗留应用程序的一个原因.如今大多数公司只开始小规模的GUI应用程序项目,主要是业务应用程序.为此,WPF将非常昂贵,因为他们已经拥有Windows Forms中经验丰富的工作人员和许多遗留代码,但是对于WPF,他们将不得不创建一个新的代码库,而且风险很大.所以让你受雇的最好的事情是Windows Forms.

对于新项目:然而,如果"值得学习",你的意思是,新的,雄心勃勃的,有魅力的.那么WPF可能是您的最佳选择.这取决于你的要求,真的.

云端

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

对照

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

Windows Presentation Foundation:

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

Windows窗体:

  • 曾经拥有微软的力量和资源,现在WPF就是这样
  • 非常适合维护遗留应用程序
  • 如果你是一名企业家,那就是训练有素的员工队伍
  • 相当成熟的API
  • 支持比WPF更多的平台(通过Mono)

Java FX:

  • 为云创建应用程序
  • 由Oracle支持
  • 相当不错的API
  • 跨平台,在大多数PC上运行,智能手机是一个问题.

Silverlight:

  • 为云创建应用程序
  • 由微软支持
  • 非常棒的API
  • XAML
  • 跨平台,在Mac和PC上运行,可在Windows Phone上运行.

GTK#:

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

摇摆:

  • 跨平台,在大多数PC上运行,智能手机都是一个问题.
  • 很成熟
  • 使用Java2D创建2D游戏的理想选择

结论

正如你所说:

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

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

  • 更新.Silverlight在此期间已经死了 (6认同)

ale*_*x.b 8

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