我计划编写一个Windows应用程序,以帮助自己完成一些探索性测试任务(笔记、数据生成、缺陷记录),但在选择框架/语言时遇到了困难。我的唯一经验是Web开发,从我所看到的情况来看,WinForms、WPF、Silverlight、Swing等框架都同时被认为是过时和繁荣的,这取决于你问谁。
虽然我的主要目标是创建该应用程序,但显然我想在此过程中学到有用的东西,而不是通过学习永远不会在工作项目中使用的技能。哪种Java或C#框架可以推荐学习?
我计划编写一个Windows应用程序,以帮助自己完成一些探索性测试任务(笔记、数据生成、缺陷记录),但在选择框架/语言时遇到了困难。我的唯一经验是Web开发,从我所看到的情况来看,WinForms、WPF、Silverlight、Swing等框架都同时被认为是过时和繁荣的,这取决于你问谁。
虽然我的主要目标是创建该应用程序,但显然我想在此过程中学到有用的东西,而不是通过学习永远不会在工作项目中使用的技能。哪种Java或C#框架可以推荐学习?
注意:考虑到本回答发布于2012年。自那时以来,有些事情发生了一些变化,例如 Silverlight 已被弃用。
就业方面:现在,大多数公司(至少是我所在的阿曼和阿联酋的大多数公司)正在慢慢迁移到云端。但仍有一些本地应用程序开发的机会。如今最需要求的框架是(不是WPF),而是Windows Forms!
为什么选择老旧的 Windows Forms 而不是令人惊叹的 WPF?一个原因是遗留应用程序。现在,大多数公司仅开始小规模的 GUI 应用程序项目,主要是商业应用程序。对于这种应用,WPF 将非常昂贵,因为他们已经拥有 Windows Forms 经验丰富的工作人员和大量的遗留代码,但对于 WPF,他们将不得不创建一个新的代码库,这是相当冒险的。因此,让你保持就业的最好方法是 Windows Forms。
对于新项目:但是,如果你所说的“值得学习”是指新的、雄心勃勃和富有魅力的项目。那么 WPF 可能是你最好的选择。这真的取决于你的要求。
现在,谈到云。Java FX 和 Silverlight 目前处于领先地位。然而,Java FX 可能有优势,因为它支持更多的平台。但另一方面,Silverlight 拥有 Microsoft 的所有强大资源,并且非常适合 Windows Phone 开发。
为了进行比较,以下是每个工具包提供的内容:
Windows Presentation Foundation:
Windows Forms:
Java FX:
Silverlight:
GTK#:
Swing:
正如你所说:
虽然我的主要目标是创建应用程序,但显然我希望在这样做时学到一些有用的东西,而不是选择永远不会在工作项目中看到的技能。
嗯,如果你不在微软、甲骨文、谷歌等主流公司工作,你最有可能看到的框架是Windows Forms和WPF。至少这是大多数公司在这里使用的。所以我推荐这些。JavaFX和Silverlight也看起来有潜力,并且可能在不久的将来被使用。
WPF
。最佳的Windows支持。顺便说一下,它并不过时。
Java FX 2.0 看起来非常有前途,如果 swing 对你来说已经过时,现在可以使用它了。请注意,它与之前的版本几乎没有什么共同之处。例如,可以参考这个与swing的简短比较。Oracle说他们计划开放源代码。
现在它还比较新,因此不太可能用于现有应用程序。