2008-09-14 59 views
23

看來,Silverlight/WPF是.NET用戶界面開發的長期未來。這很好,因爲我可以看到在客戶端和Web開發方面重用XAML技能的優勢。但是看看WPF/XAML/Silverlight,它們看起來非常龐大,所以最適合開始的地方在哪裏?首先學習Silverlight或WPF?

我想聽聽任何一位對這兩方面都有深入瞭解的人,並能推薦哪一個更好的出發點和原因。

回答

28

你應該先了解ASP.NET或的WinForms? ASP或MFC? HTML或VB? C#或VB?

預留的想法,有過這已成爲一個非常複雜交織的一系列技術的邏輯發展,並退後一步,然後問自己一系列問題:

  • 你有什麼目標;你想如何平衡利潤與享受
  • 你是短期導向還是長時間運作
  • 你是喜歡做什麼事情,做很多事情或者你會感到無聊的人的類型你完全明白嗎?

接下來也是最難的一步是接受任何你給出的建議肯定是錯的;時間越長越可能不正確。如果建議的時間超過六到十二個月,那麼建議的可能性非常不正確。方法1.

我只能很快告訴你我的故事。在2000年,我很高興作爲一名顧問在Windows應用程序中使用C++進行有益的工作,撰寫關於ASP.NET和WinForms的文章。然後我看到C#和世界顛倒了。我從未回去。

兩年前,我擁有了同樣的啓示,只有一個數量級更大,更強大,對Silverlight更有信心。是的,WPF非常棒,可能我對此一直都很擔心,但我相信我的直覺是Silverlight改變了一切。毫無疑問,毫無疑問,今天毫無疑問,自從.NET(當然)以來,Silverlight是微軟最重要的開發平臺,並且有可能在切換到C++之後。

簡而言之,這就是爲什麼。我不明白它的侷限性在哪裏。對於大多數平臺我都這樣做:你可以做到這一點,但你不能那樣做。 WPF是一個非常好的例子,A​​SP.Net和WinForms也是如此,到目前爲止,事實上也是如此。
使用Silverlight,我還沒有看到邊界。 Silverlight已經將桌面應用到了手機上,我沒有看到它有任何停止的理由。是的,這是事實,它受到瀏覽器的約束,但我認爲這不像監獄牢房,而是Silverlight將騎在很多地形上的坦克(它一定很晚,我應該上牀睡覺)。

在任何情況下,就目前而言,學習Silverlight是一種天然氣,Silverlight.net site上有很多材料,關於學習Silverlight的最好的東西是,如果你沒有看到你需要的東西,你可以對我很重要,我會確保你很快得到它。

享受,祝你好運,骯髒的小祕密是你會罰款,無論你選擇。這全都只是軟件。

-jesse


傑西自由 "Silverlight Geek"

+1

「如果你沒有看到你需要的東西,可以在我看來」 TIFF支持! mbeckish 2009-01-27 18:47:26

5

Silverlight是WPF的精簡版本,所以它應該有更少的內部學習內容。另一方面,這兩個平臺有不同的目標(富網客戶端),所以我猜這取決於你要構建的應用程序。
如果你只是想自己學習(不久的將來沒有應用程序),我會選擇Silverlight,因爲它不會被同化。儘管如此,Silverlight幾乎是一個移動的目標,遠遠超過WPF,所以你必須不時地跟上一些變化(作爲早期使用者的樂趣:))。
WPF有更多的東西,你可能會想在某些時候使用,但我會等待需求首先出現。

2

我會從學習XAML開始,閱讀一些教程並使用XAMLPad進行遊戲。在實際構建應用程序之前,這會給你一些基本的感受。

14

一些技巧我想說的Silverlight先走了!

我以前用WPF和Silverlight編程過。

但由於Silverlight是WPF的一個子集如果你陷得太深去嘗試切換到編寫Silverlight應用程序,你會被抓你的頭尋找一個「標籤」,你學會了WPF愛,但在Silverlight中不可用。

當您首先掌握Silverlight的基本功能時,WPF中額外的機制/觸發器/任何功能將簡單地將添加到到您已知的大部分內容中。

WPF中的Silverlight不同於的功能級別,而不僅僅是一些缺失的控件或動畫。以WPF觸發機制爲例,在Silverlight中完全不可用。

因此,先學習較小的子集,稍後可以將這些知識擴展到整個集合,但是如果您從全套開始學習並沉迷於某些可用的細節,那麼當有人要求您將設計利用的WPF應用程序移植到Silverlight。

+0

感謝您的答覆,我會去與你的意見,並第一次嘗試了Silverlight的。 – 2008-09-25 13:09:01

2

我會從WPF開始,並做非常簡單的控件熟悉的樣本。你的目標應該是學習XAML和綁定。所以如果你只是創建一些基本的WPF窗口應用程序將引導你的學習速度。那麼最終你可以轉向silverlight。是的,正如其他人在這裏提到的Silverlight是WPF的一個子集。

4

我在播客,博客和訪談中聽到的每位行業專家都建議學習先Silverlightlight然後逐漸轉向WPF這是一個巨大的UI框架。

Silverlight是光,並允許您對控制和這樣的功能,你繞過基於此新UI的建築範式頭部較小的子集工作,

  1. 模板
  2. 數據綁定
  3. 樣式

更新:07/2011

我討厭這一點,但近來微軟通過提供IE 9和IE 10以及即將推出的Windows 8的強大功能,將更多精力放在HTML5,Javascript和CSS上。

越來越多的開發人員隨着時間的流逝,CTO對Silverlight作爲LOB應用程序平臺持懷疑態度,我們懷疑Silverlight將僅限於Windows Phone和利基領域,如圖形相關應用程序的醫療保健領域,而不是常規的LOB應用程序。

從現在看來,截至2011年夏季,與純插件和操作系統特定的UI技術相比,未來可能會出現更多純Web技術(HTML5,JS和CSS)的機會。

+0

+1進行更新。 Windows Metro已經在優先考慮:http://msdn.microsoft。com/en-us/windows/apps/ – PhillipKregg 2011-12-01 23:55:07

1

那麼,這取決於你將要做什麼。如果您正在使用客戶端/服務器,那麼我會使用WPF。如果你正在一個可以保證在所有機器上安裝.Net的環境中工作,那麼我也會使用WPF,因爲你可以使用所謂的XBAP,這是一個WPF應用程序,它可以運行瀏覽器。

這真的取決於你。不過,我會說silverlight不是RTM,而WPF是。 WPF有很多關於這個主題的書籍,silverlight沒有。通過閱讀這些書籍中的一些來獲得WPF的整個禪宗可能會更容易,然後潛入你想玩的任何一個。

請記住,silverlight具有WPF控件的子集,一個配對的.Net框架,並且不會執行同步調用。只要你事先知道,你就可以開始學習整個基礎的核心,並在稍後調整你的實際經驗,以適合你的技術。

7

我會反對穀物,並說先學習WPF。

這裏是我的推理:

  • 更多的資源可用於WPF比Silverlight的,如書籍,博客和MSDN文檔

  • 你沒有處理測試版,移動目標

  • 你不必處理與僅異步調用

  • 缺乏的功能,如合併字典,觸發器,TileBrushes等不侷限於工作

  • 您不必擔心重新學習正確地做,因爲事物的特點缺乏SL