似乎Silverlight / WPF是使用.NET进行用户界面开发的长期未来。这很棒,因为我可以看到在客户端和Web开发方面重用XAML技能的优势。但是看看WPF / XAML / Silverlight它们看起来是非常大的技术,那么哪里是最好的起点?
我想听听任何对两者都有充分了解的人,并建议哪一个是更好的起点和原因。
答案 0 :(得分:28)
您应该先学习ASP.NET还是Winforms? ASP还是MFC? HTML还是VB? C#还是VB?
撇开通过已经成为高度复杂的交织技术的逻辑进展的想法,并退后一步并问自己一系列问题:
接下来最艰难的一步就是接受你给出的任何建议都是错误的;时间范围越长,就越有可能出现错误。如果建议超过6到12个月,建议极不正确的可能性接近1.
我只能很快告诉你我的故事。在2000年,我很高兴担任顾问,在Windows应用程序上使用C ++进行盈利,撰写有关ASP.NET和WinForms的文章。然后我看到C#,世界颠倒了。我再也没有回去过。
两年前,我有同样的启示,只有一个数量级更大,更强,对Silverlight更有信心。是的,WPF非常棒,可能我对这一切都很感兴趣,但我相信Silverlight会改变一切。毫无疑问,毫无疑问,Silverlight是自.NET以来微软最重要的开发平台(当然),也可能是自切换到C ++以来。
简而言之,这就是原因。我不明白它的局限在哪里。对于我做的大多数平台:你可以做到这一点,但你不能这样做。 WPF就是一个非常好的例子,就像ASP.Net和WinForms一样,到目前为止一切都很好 使用Silverlight,我还没有看到边界。 Silverlight已经从桌面上跳到了手机上,我认为它没有任何理由停在那里。是的,确实如此,它受到浏览器的约束,但是我认为它不像一个监狱,而是Silverlight将骑在很多地形上的坦克(它一定很晚,我应该去睡觉)。
在任何情况下,目前,学习Silverlight是一种气体,Silverlight.net site上有很多材料,学习Silverlight的最好的事情是,如果你看不到什么需要你可以对我大喊大叫,我会确保你很快得到它。
享受,祝你好运,这个肮脏的小秘密就是你选择哪个会很好。这一切都只是软件。
-jesse
杰西自由 "Silverlight Geek"
答案 1 :(得分:14)
我会说首先使用Silverlight!
之前我已使用WPF和Silverlight编程。
但是,如果Silverlight是WPF的子集,如果你进入太深并尝试转向编写Silverlight应用程序,那么你就会摸不着头脑,寻找你学会爱的那个“标签”在WPF中,但在Silverlight中不可用。
当您首先掌握Silverlight中的基本内容时,WPF中的额外机制/触发器/任何功能将只是添加到您已知的大部分内容。
WPF中的Silverlight在功能级别上有所不同,而不仅仅是一些缺少的控件或动画。以WPF触发机制为例,在Silverlight中无法完全使用。
首先学习较小的子集,你可以稍后将这些知识扩展到整个集合,但如果你从完整集开始并沉迷于一些可用的细节,当有人要求时,你就会遇到麻烦。您将设计利用率的WPF应用程序移植到Silverlight。
答案 2 :(得分:7)
我会反对,先说学习WPF。
这是我的推理:
WPF可用的资源比Silverlight多,例如书籍,博客和msdn文档
您没有处理Beta,移动目标
您不必处理仅使用异步调用
不受缺少Merged Dictionaries,Triggers,TileBrushes等功能的限制
由于SL中缺少功能,您不必担心重新学习正确的事情
答案 3 :(得分:5)
Silverlight是WPF的精简版本,因此内部应该学习的内容较少。另一方面,这两个平台有不同的目标(网络和富客户端),所以我想这取决于你要构建的应用程序。
如果你只是想自己学习(在不久的将来没有应用程序),我会选择Silverlight,因为它不会被同化。尽管如此,Silverlight几乎是一个移动目标,远远超过WPF,所以你必须不时地跟上一些变化(成为早期采用者的乐趣:)。
WPF有更多你可能想要在某些时候使用的东西,但我会等待首先出现的需求。
答案 4 :(得分:4)
我在播客,博客和采访中听到的每位行业专家都建议首先学习 Silverlight ,然后逐渐转向WPF,这是一个巨大的UI框架。
Silverlight很轻巧,允许您处理较小的控件和功能子集,以便您可以了解基于此的新UI构建范例,
更新:07/2011
我不想提及这一点,但最近微软通过提升IE 9和IE 10以及即将推出的Windows 8的强大功能,更加关注HTML5,Javascript和CSS。
随着时间的推移,越来越多的开发人员和CTO对Silverlight作为LOB应用程序平台持怀疑态度,我们怀疑Silverlight将仅限于Windows Phone和利基,域名领域,如图形相关应用程序的医疗保健,而不是常规的LOB应用
目前看来,截至2011年夏季,未来可能看起来更加分散,纯粹的网络技术(HTML5,JS和CSS)有更多的机会,而不是插件和特定于操作系统的UI技术。
答案 5 :(得分:2)
我首先要学习XAML,阅读一些教程并使用XAMLPad。这将使您在实际构建应用程序之前了解基础知识。
答案 6 :(得分:2)
我将从WPF开始,并做非常简单的控制熟悉的样本。你的目标应该是学习XAML和Binding。因此,如果您只是创建一些基本的WPF窗口应用程序将引导您的学习速度。然后最终你可以转向silverlight。是的,其他提到的Silverlight是WPF的一个子集。
答案 7 :(得分:1)
嗯,这取决于你将要做什么。如果您正在使用客户端/服务器,那么我会使用WPF。如果您在一个可以保证在所有机器上安装.Net的环境中工作,那么我也会使用WPF,因为您可以使用所谓的XBAP,这是一个运行的WPF应用程序浏览器。
这完全取决于你。但是,我会说Silverlight还不是RTM,而WPF是。 WPF有很多关于这个主题的书籍,而Silverlight却没有。通过阅读其中一些书籍来获取WPF的整个Zen可能更容易,然后深入了解你想要玩的那本书。
请记住,Silverlight有一部分WPF控件,一个配对的.Net框架,并且不进行同步调用。只要您事先知道,您就可以开始学习整个基础的核心,并在以后根据最适合您的技术定制您的实践经验。
答案 8 :(得分:0)