我打算编写一个Windows应用程序来帮助自己完成一些探索性测试任务(笔记记录,数据生成,缺陷记录),并且我在选择框架/语言的早期阶段陷入困境。我唯一的经验是网页开发,从我所看到的,WinForms,WPF,Silverlight,Swing等都是同时过时和蓬勃发展,取决于你的问题。
虽然我的主要目标是创建应用程序,但显然我想学习一些有用的东西,而不是通过在工作项目中永远不会看到的东西来学习技能。人们建议学习哪些Java或C#框架?
答案 0 :(得分: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 :
Windows窗体:
Java FX :
<强> Silverlight的强>:
<强> GTK#强>:
<强>摇摆强>:
正如你所说:
虽然我的主要目标是创建应用程序,但显然我希望在这样做的同时学习一些有用的东西,而不是通过在工作中的项目中看不到的东西来学习技能。
嗯,你最有可能看到的框架(如果不适用于微软,甲骨文,谷歌等主流公司)是Windows Forms和WPF。至少这是大多数公司在这里使用的。所以这些是我推荐的。 JavaFX和Silverlight看起来也有潜力,可能会在不久的将来使用。
答案 1 :(得分:8)
WPF
。对Windows的最佳支持。顺便说一句,它并没有过时。
答案 2 :(得分:1)
Java FX 2.0看起来非常有前途,现在如果挥杆看起来已经过时了。请注意,它与以前的版本几乎没有共同之处。请参阅示例this short comparison with swing。而oracle表示他们打算开源。
现在它相当新,所以不太可能在现有应用程序中使用。
答案 3 :(得分:1)
您可以选择将应用程序创建为HTML + Javascript并通过嵌入浏览器引擎(IE或其他内容)在桌面应用程序中运行它。如果您需要本机API,则有一些机制可以将这些API用于浏览器的Javascript代码。