Silverlight 學習要項 - 真的沒什麼新鮮的

太陽底下沒有新鮮事,賈伯斯:「所謂創造力,就是把許多東西連結在一起而已」,RIA、Silverlight,到目前為止,對很多人來說似乎有點嚇人,事實上,說穿了,不過就是舊甁裝新酒,UI 漂亮一點,使用者互動流暢一點,資料來回可以丟遠一點,就是這樣而已,但是,一些改變,便足以翻天覆地,改變歷史…

還記得 Apple 第一台 PC 如何讓巨大的電腦主機走入人們的日常生活嗎,不過就是將電腦零件縮小裝到一個盒子裏,再灌入一些程式碼…

還記得視窗程式如何讓DOS程式全面退場,藍色巨人變憂鬱,甚至不可一世的賈伯斯在比爾蓋茲面前稱臣,不過就是加上滑鼠點選互動功能的圖形介面,…

OO比程序語言來得強嗎,不過將功能用個類別再封裝起來,再繼承一下,Java不也就是將功能包成一大堆類別讓開發人員比較好用而已…

一切的進化,其實都只是在舊有的基礎上,加上一些變利性,調整一些作法,人類歷史文明演進的過程中,革命很少,印刷術帶動的知識革命、蒸氣機帶動的工業革命、積體電路、微處理器,直到比較近的網際網路,這些革命屈指可數…

相較於革命,技術的演進時刻在進行,技術版本更迭的速度已經到了匪夷所思的地步,開發人員窮其一生,也難以追上技術更新的腳步…等等,這種推論其實不太正確,之所以稱為「演進」而非「革命」,主要的差別在於,「演進」都是在一個相同的基礎上,發展新的功能,所以,根本不需要追,也沒有追的問題,不過,前提是,必須有好的、正確的觀念與基礎…

是的,要回到本文章的主題了:Silverlight,沒有例外,要進入它的世界,其實不會有太大的障礙,只要你將我們的幾本書好好讀完的話(註)。XD

下面列舉的,是學習 Silverlight 的要項,以學習順序所排列,它也是將來我們Silverlight新書的架構,可以先看一下:

概要
‧ HTML、ASP.NET與Silverlight,RIA的發展
‧ Why Silverlight?
‧ 後端還是前端
‧ 開發與設計
‧ 開發工具:Visual Studio
‧ 設計工具:Expression Blend 2

工具、專案組成與技術概觀
‧ Visual Studio 的 Silverelight 專案結構
‧ Silverelight 與HTML網頁、ASP.NET網頁的關係
‧ Silverelight 組成(與HTML及ASP.NET比較)
‧ Expression Blend 2

Silverelight內涵
‧ XAML與後置程式碼
‧ 版面配置
‧ 控制項
‧ 事件處理
‧ API與類別庫
‧ 繪圖技術與動畫
‧ IO與隔離儲存
‧ 資料處理-集合類別
‧ 資料控制項
‧ 資料繫結
‧ LINQ

與伺服器端的互動
‧ 與HTML溝通-穿越網路
‧ WebClient與資源下載
‧ Socket技術
‧ WCF
‧ .NET RIA Service
‧ 圖表控制項
‧ 圖形化報表
‧ 列印輸出技術

這份列表,並非絕對的,只是初稿,會一直演進,但可以視為通則,如果你有那麼一些.NET基礎,可以遵循,當然,如果你已經是.NET高手,高興跳著學都OK,其中的項目,有些可能到 Silverlight 4.0 才會有,我們的書,最快也到 Silverlight 4.0 才會有,所以,這些日子,就請自己找資料,或沒事來逛逛。XD

註 1 : 需要讀的書列舉如下:

「Visual C# 範例精要剖析」
「.NET 網路與IO技術手冊」
「Silverlight:ASP.NET 與 AJAX 開發實務 」
「LINQ 最佳實務講座」

打好基礎,一步一腳印,當別人拿現成的範例套一套馬上作出看起來很偉大的程式,而你還在很笨的慢慢爬時,先不要羨慕,在這一行,比的是底子還有氣長,相信我,將來風起時,飛上去的將會是你,別人可能連摔下來的機會都沒有,因為,根本飛不上去。:-)

註 2 : 現實

今天,一位在業界的好友告訴我,他 FIRE 手下一個新人,在這種景氣很難下手,卻不得不作,因為這個新人除了技術能力糟糕,還完全漠視領一份薪水該盡的起碼義務,現實其實一點都不殘酷,只是,對於不用心的人來說,這就是地嶽。

7 則留言:

匿名 提到...

任何的技術都是一種演進,因為演進才會有更佳的技術應用出現,而這些都是進步的條件。在什麼專案之下用那一種技術這些都是您所說的「舊甁裝新酒」,每一人所看的想法都有所不同但這就是不斷的進步。

「舊甁裝新酒」那還不如說!! 所有的技術也不過都是 0&1 要跟機器來溝通,所有的程式語言都是「舊甁裝新酒」。

進階程式設計師可以將新東西將其取出合適的應用來美化與改善應用,「人」是視覺感官物種技術如何再好也是無用,在適當的專案應用適合技術才是解決的問題所在。

有沒有最新的技術最好的視覺應用,重要嗎!! 見人見智..

康廷數位 提到...

您說的沒錯,所以我才說革命很少,幾乎都是舊技術的進化…

適當的專案應用適合技術才是解決的問題所在?? 這是真的呀,就像沒人用C語言寫進銷存,也是我一直強調的,我也不會叫人用組合語言去寫會計軟體

但是

這與「有沒有最新的技術最好的視覺應用,重要嗎??」並不抵觸啊,不追新技術,技術就淘汱你,這很簡單,沒什麼好見人見智,技術會推著人跑,不被推就等著被踩死,當然VB6還有人在用,還活得很好,不過最好保證能再安穩的活到下一個十年…

人生是一條漫漫長路,不是當下不追就不重要,總有一天你要面對,而那一天你是要先準備好等著它來,還是到時候因為被新人趕上再自怨自艾,或是你打算離開這一行那就另當別論

iPhone作出那種介面,所有的手機業者誰敢不追,再跟消費說那種介面不重要??當所有人作出的網頁介面都是iPhone般流暢的直覺,你說你ASP.NET就夠了,我只能說那不是你說了算,當新技術被廣泛的應用時,就變成一種遵循的標準了,而不是重不重要的問題,你的客戶,你的老板,自然會要你作出那種東西,然後你會再說那種重要嗎?見人見智吧…

最好你覺得ASP用來作報表與統計圖表就好了,不見得需要ASP.NET,最好你也覺得,ASP.NET來作股票即時更新網頁就好了,不用Flash或是Silverlight

當別人用新技術很輕易的就作出你舊技術想都不敢想的功能時,而你若是還能跟別人競爭,那再來說見人見智吧

當然,有的人生存的環境就是用一種舊技術一直活得很好,那當然OK,祝福你也恭喜你,你是幸福的,至少,我的環境是靠著不斷追逐新技術才能勉強溫飽的活下來 :-)

匿名 提到...

我的例子。我想解決一個大問題,先切割成數個小問題,每個小問題需要一種技術解決方案,我直覺式的由經驗中用舊的技術去逐一解決問題,一開始就困難重重。
後才查找一下新的技術應用...它一種新技術就可以解決我好幾個小問題。
這時我決定以後解決問題先從新技術來考量。

康廷數位 提到...

只要想留在這一行,技術不追真的是不行的,這是我自己親身的體驗,而非因為寫書的關係…

我接觸到很多的舊行業,尤其在這幾年,都急切著要導入新技術,尤其web方面的…

而軟體公司為何一再出新技術,一定是舊技術有所不足,開發一項新技術,就算只是舊技術重新包一包,都要很大的成本,沒有軟體公司會花大錢作沒有用或只是為了炫的事

新技術不見得都好,但是一定會解決某些問題,不一定成功,但最後不是有更新的替代品就是會進化成為好用的成功產品

的確是這樣的,例如WCF,就是這樣,COM+, WEB服務、REMOT…各有擅長,能解決特定問題,但還是有不足,所以才會又包了一個WCF出來

很多問題用新技術來處理可能只是一點工就能作得到,我相信還在一年以前,沒人會想用FLASH 加ASP.NET作出動態WEB統計圖表吧,Silverlight呢??我想大家可以試看看

Hunter0107 提到...

請問大大,
我只會Visual Basic的語法。
要如何從VB的角度切入 Silverlight 和 LINQ。

目前市面上的LINQ是否有以VB語法為主的書籍?

Hunter0107 提到...

對了,
我已經上網訂購 .NET 網路與IO技術手冊
已經訂了一個禮拜還沒收到。
請問這本書還有在賣嗎?

康廷數位 提到...

hi,Hunter0107 : 這本書可能要問一下松崗會比較快一點哦,市面上應該不容易找到

Silverlight,其實只要你的.net底子夠的話,基本上就差不多等於會了啦,除了要再修一下XAML,這個東西事實上只是XML,還OK

至於LINQ,它其實很單純,只是一組方法還有簡便的語法,核心在一種稱為泛型集合的相關技術,你只要從陣列->集合->泛型集合->LINQ 一路下去,很快就通了

市面上似乎沒有VB的LINQ書也,這我不是很清楚,印象中沒有也,可能要靠網路文件學習了