首先学习Silverlight还是WPF?

时间:2020-03-05 18:52:58  来源:igfitidea点击:

似乎Silverlight / WPF是使用.NET开发用户界面的长期未来。这很棒,因为正如我所看到的,在客户端和Web开发方面都可以重用XAML技能。但是,从WPF / XAML / Silverlight来看,它们似乎是非常庞大的技术,因此最佳入门地点在哪里?

我想听听任何人都有这方面的知识,并且可以推荐哪个是更好的起点以及为什么。

解决方案

回答

Silverlight是WPF的精简版,因此在其中应该学习的东西更少。另一方面,两个平台有不同的目标(Web和富客户端),所以我想这取决于我们要构建的应用程序。
如果我们只是想为自己学习(在不久的将来没有应用程序),我会选择Silverlight,因为它吸收的机会更少。尽管如此,Silverlight几乎是一个移动的目标,而不是WPF,所以我们必须不时地进行一些更改(成为早期采用者的乐趣:)。
WPF还有很多东西,我们可能会希望在某些时候使用,但是我会等需求首先出现。

回答

我将通过阅读一些教程并使用XAMLPad来学习XAML。在实际构建应用程序之前,这将使我们对基础知识有所了解。

回答

Silverlight开发入门中的一些提示

回答

我想先和Silverlight一起去!

我以前用WPF和Silverlight编程。

但是由于Silverlight是WPF的子集,如果我们太过深入并尝试切换到编写Silverlight应用程序,那么我们将不知所措,以寻找我们在WPF中爱上的"标签",但在Silverlight中不可用。

当我们首先掌握Silverlight的基本知识时,WPF中的额外机制/触发/所有功能将简单地添加到我们已经了解的大多数内容中。

WPF中的Silverlight在功能级别上有所不同,不仅是一些缺少的控件或者动画。以WPF触发器机制为例,它在Silverlight中并不完全可用。

因此,首先学习较小的子集,我们可以在以后将知识扩展到全套,但是如果我们从全套开始,并且沉迷于某些可用的技巧,那么当有人要求我们移植时,我们将遇到麻烦我们设计利用WPF的应用程序到Silverlight。

回答

我将从WPF开始,并进行非常简单的控制熟悉的示例。目标应该是学习XAML和绑定。因此,如果我们仅创建一些基本的WPF窗口应用程序,则会引导学习速度。然后最终我们可以转到Silverlight。是的,如此处其他提到的,Silverlight是WPF的子集。

回答

我在播客,博客和访谈中听到的每个行业专家都建议先学习Silverlight,然后逐渐转向使用WPF(这是一个庞大的UI框架)。

Silverlight轻巧,可让我们处理较小的控件和功能子集,从而使我们可以基于以下新的UI构建范式来进行开发:

  • 模板化
  • 数据绑定
  • 款式

更新:2011年7月

我讨厌提及这一点,但是最近,Microsoft通过提供IE 9和IE 10以及即将推出的Windows 8的强大功能,更加关注HTML5,Javascript和CSS。

随着时间的流逝,越来越多的开发人员和CTO对Silverlight作为LOB应用程序平台持怀疑态度,我们怀疑Silverlight将限于Windows Phone和细分市场,领域涉及图形相关应用程序的医疗保健,而不是常规的LOB应用程序。

目前看来,截至2011年夏季,与插件和特定于OS的UI技术相比,纯Web技术(HTML5,JS和CSS)的更多机会可能使未来变得支离破碎。

回答

好吧,这取决于我们将要进行的工作。如果我们正在使用客户端/服务器,那么我将使用WPF。如果我们在可以保证在所有计算机上都安装.Net的环境中工作,那么我也将使用WPF,因为我们可以使用所谓的XBAP,它是通过WPF应用程序运行的。浏览器。

这完全取决于我们。但是,我要说Silverlight还不是RTM,而WPF是。 WPF有很多关于这个主题的书,而Silverlight没有。阅读其中一些书籍,然后深入研究我们想玩的其中一本书,可能会更容易获得WPF的全部Zen。

只需记住,silverlight具有WPF控件的子集(一个配对的.Net框架),并且不执行同步调用。只要我们知道这一点,就可以开始学习整个基础知识的核心,并在以后针对最适合技术量身定制实践经验。

回答

我会反驳说首先学习WPF。

这是我的理由:

  • 我们不是在处理Beta版移动目标
  • 我们不必只处理异步调用
  • 不受缺少诸如合并词典,触发器,TileBrushes等功能的限制。
  • 我们不必担心由于SL中缺少功能而需要重新学习以正确地做事

回答

我们应该首先学习ASP.NET还是Winforms? ASP还是MFC? HTML或者VB? Cor VB?

抛弃已经成为高度复杂的相互交织的技术的逻辑上的进步的想法,然后退后一步,问自己一系列问题:

  • 你的目标是什么;我们如何平衡利润与享受
  • 我们是短期的还是长期的
  • 我们是那种喜欢擅长于做某事并且经常做很多事情的人吗?或者一旦完全了解它就会感到无聊吗?

下一步,也是最困难的一步,就是接受给任何建议注定是错误的。时间范围越长,错误的可能性就越大。如果建议的时间超过6到12个月,则建议完全错误的可能性接近1.

我只能很快告诉你我的故事。在2000年,我很高兴以顾问的身份在Windows应用程序上以C ++从事盈利性工作,撰写有关ASP.NET和WinForms的文章。然后我看到Cand的世界颠倒了。我再也回不去了。

两年前,我得到了同样的启示,只是更大,更强大,并且对Silverlight有更多的信念。是的,WPF非常出色,可能是我对此一无所知,但我坚信Silverlight会改变一切。毫无疑问,自今天(无疑)以来,Silverlight是Microsoft最重要的开发平台,这肯定是自.NET以及自从改用C ++以来。

简而言之,这就是原因。我不知道它的局限性在哪里。在大多数平台上,我都能做到:我们可以做到,但不能做到。与ASP.Net和WinForms一样,WPF就是一个很好的例子,到目前为止,实际上还有很多东西。
使用Silverlight,我看不到界限。 Silverlight已经从台式机转移到了手机上,我认为没有任何理由停止它。是的,的确如此,它是受浏览器限制的,但我看到的不是监狱牢房,而是Silverlight会在很多地形上骑行的坦克(必须很晚,我应该上床睡觉)。

无论如何,就目前而言,学习Silverlight十分重要,Silverlight.net网站上有很多资料,而学习Silverlight最好的事情是,如果我们看不到自己需要的东西,可以大声疾呼。对我,我将确保我们很快得到它。

尽情享受,祝我们好运,肮脏的小秘密是,无论我们选择哪种方式都可以。全部都是软件。

-杰西

杰西·利伯蒂(Jesse Liberty)
"银光怪胎"