Silverlight 2.0 範例權威講座 一書完稿
折騰了很久,終於,Silverlight 2.0的書籍已經完稿送印,讀者應該可以在下周看到這本書,在這本書當中,除了Silveright的技術、開發架構的討論之外,還收錄了一些中型的範例,諸如以Silverlight開發的RIA版本EIP、討論區、即時通訊、簽核系統、PIM個人行事曆管理、線上訂票系統、數位儀錶板、類似Excel的圖表功能、大檔案上傳機制、梭哈遊戲、媒體撥放器、影片字幕機、ASP.NET與Silverlight的整合技術...等等琳瑯滿目的內容,這些範例有部分過去我用ASP.NET開發過,如果讀者稍做比較,就會明顯發現以Silverlight開發出的這些範例和過去ASP.NET的範例有著相當大的不同。
接下來幾天,我會把書中的一些範例和章節、以及目錄都貼上來,這本書對我來說是蠻特別的,除了歷經很多波折之外,自己也拖了很久的時間,底下是這本書的序,這篇序大概是我有史以來寫過最長的序了,隨手寫來,一發不可收拾,索性就全文照刊,算是和大家的一點分享了。
2009的感言 - 代序
坦白說,這本書的出版是稍稍有點艱辛的…除了筆者自己拖稿延誤之外,其他大大小小波折還真不少…
故事可以從2007年開始說起,07年,微軟推出Silverlight 1.0,在台北這個偉大的小地方,就出了四本原創的繁體中文書,幾乎可以說是有史以來第一遭,台北的出版速度快於全球,能量也可說是居冠亞洲,其中幾位作者的Silverlight書籍也都陸續在內地上市出版(包含筆者自己的),很快的,一年過去了,時至2008,Silverlight 1.0已經大幅度改變成2.0,並於2008/10月正式誕生,但是隨時全球景氣的趨緩(或是我應該說衰退?),出版Silverlight 2.0書籍的出版社和作者不僅速度變慢,同時能量也變少…
難道,新聞報導的全球蕭條以然來臨?
在商言商,出版社和作者很難在出版與撰寫一本書的時候完全不考慮銷量,或許我們在BLOG上可以純粹為了紓發一己之悠情,不計代價的隨手寫寫貼貼,但是從文字稿檔案到出版成一本書,其中出版社所耗費的精神(或是費用)其實不能說完全不用考慮,這導致很有可能一些相當好的主題卻沒有辦法跟大家見面,例如有一位讀者一直鼓勵 (後來變成建議、最近開始變成要求…) 我用VB寫一本design pattren的範例書籍,我要老實地說,其實我很想,但是我不敢…就算我敢寫,出版社可能也不敢收…
然而好的技術,是否應該繼續推廣?好的觀念,是否應該介紹給更多的人知道,是否應該鼓勵大家進而使用在自己的專案當中,避免再用傳統辛苦的方式去Hard Coding出你要的成果,或是因為一時的便宜行事導致後續專案的維護困難?這些問題的答應我相信相當清楚而一致…
也因此,2008年一整年我除了日常的工作之外,也配合微軟在台灣北中南分別舉辦了好幾場的Silverlight 2.0技術發表會和研討會,在台北也有一些Hands-on Lab的課程,隨著Silverlight 2.0正式上市,我相信這部分將會愈趨火熱,我們將會有更多的研討會場次和課程將會與大家見面…
Silverlight 2.0是一個好技術,我想參與過筆者研討會或課程的學員們應該不會反對,對於.NET的開發人員來說,我們期待一個可以超越Flash同時取代傳統UI呈現方式的技術已經很久,而這個技術又必須有前瞻性,與未來的.NET開發架構相結合,必須和現有的技術相容,與ASP.NET相輔相成,同時又有足夠的第三方Resource和社群支援,讓開發的過程得以沒有後顧之憂…
無論怎麼看,Silverlight2.0都符合這個特質。
或許,你會困擾於Silverlight 1.0和2.0兩者之間的差異與相容性,甚至擔心Silverlight 3.0是否又會有一番大改?這部分,在筆者的課程中我也常常和學員討論,我要說的是,從我的角度來看,Silverlight 1.0和2.0幾乎可以說是獨立的兩種產品,哪怕它都稱作Silverlight,但是其實目標客戶的對象和能夠呈現出的功能是有所不同的。儘管2.0上市了,我不認為1.0的東西要拋棄或是改版更新,1.0就是1.0,原本的功能和目標用戶都沒有變,2.0則提供了更多的可能性,當然在Run-Time的部分也稍微增大了一些(從1.4M到4.6M),這些當然是為了讓.NET開發人員在Web Solutions的UI層能夠提供給客戶更優質的操作界面和可能性…
然而Silverlight 3.0呢? 您別操心了,除了功能增強之外,程式碼的撰寫方式依舊是你所熟悉的.NET Code,更何況, RunTime的部分是整個向後相容的,你不需要擔心2.0開發出的應用程式將來無法執行,即使是以Silverlight 2.0為基礎開發的類別庫或控件,到了3.0依舊可以正確運行無誤。
然而微軟的版本更迭在這幾年確實是快到一個不行,也因此,這次其實我很想做了一個嘗試,本來這本書的書名並不打算跟著微軟的Silverlight 2.0或3.0版,我想用的是『Silverlight 2009範例集權威講座』這個書名,表示這本書同時適用於2.0和3.0版,我想試著不要用產品的版次編號,而用我自己對該技術研究的年分作為書籍的版本區隔,這也意味著,在2009年初所出版的這本Silverlight專書中,所蒐錄的是我對Silverlight這個技術截至2009年上半年的研究心得,所以當然,這個心得是涵括Silverlight各種版本的,未來技術若持續更新,我也會陸續發表相關的心得。後來,礙於擔心使用者混淆以及總總其他原因和各方面的考量,最後我們還是掛上了Silverlight 2.0這個書名,但是當然依舊是相容於未來推出的3.0,同時我也相信本書在內容上是有足夠的前瞻性的。
這是一個現實上的妥協,我跟各位一樣,是身陷專案中的實務開發人員,我知道礙於現實,你不見得會立刻跟著微軟改版,但是微軟的改版速度卻太快,一本Silverlight 2.0的書才剛出來,還沒開始賣,搞不好就要出3.0了(天知道這個狀況會不會在4.0時繼續出現?),然而我說過,一本書,應該是經驗的累積,在技術更迭如此迅速之下,如果都要依照這樣的速度來出書,那哪來經驗的累積?
很有可能(如果讀者、市場、和出版社允許),在軟體改版依舊如此頻繁的狀況下,未來我盡可能不特別針對微軟的新技術寫新書,而是跟著我自己對各種新技術所研究的時間和心得出版,也就是說,Silverlight 2.0, 3.0, 4.0…由於工作與授課之故,我會持續的研究和學習,但是我不會在每次改版時都立刻跟著出版Silverlight 1.0, 2.0, 3.0, 4.0的書,因為這樣真的沒啥意義,但是我會盡可能分別在每一年,出版當年我針對Silverlight這個技術主題的學習心得和成果,算是跟大家的分享,前提當然是市場、讀者、和出版社如果都還接受的話。
請讀者特別注意,在這種形式之下,一本書的內容是不可能包山包海的(寫出很厚的書並不是我的目的),但是我很有把握地跟讀者說,書中的內容絕對會對你的『實務開發』有幫助,我不想寫一本只是介紹(或翻譯)MSDN文件上的內容的書,所以,我會假設讀者可以自己找到相關的MSDN資料,自己可以把基礎的東西補足,而書裡,我盡可能的只分享使用或開發心得,透過這些經驗,讓讀者避開一些不需要的額外嘗試與挫折。
另外,由於資訊科技的快速更迭,讀者總還是會有需要和我們一起討論問題的時候,從現在開始,請你到我們的專屬網站(網址在書上有公布),在這邊,我會開放一個可以和大家一起討論的空間。你可以把你在觀念上需要釐清的問題POST出來,在工作之餘,我會盡可能回答,但是請不要叫我幫你看程式或改程式,我很害怕讀者這樣^^。
回到Silverlight,總而言之,如果你厭倦於用ASP.NET+AJAX只是為了在WebForm上呈現出類似Windows應用程式的UI(或是處理一些沒道理的介面邏輯)、如果你需要給客戶(或用戶)耳目一新的感覺、如果你希望為未來帶來一些不一樣的可能性,我相信,在這個階段進入Silverlight 的行列,是個挺好的選擇。為什麼我那麼有把握和有信心這麼說? 因為我所屬的公司和我自己開發的產品,都已經用上Silverlight這個新的技術。
我常講,亂世也有人能賺錢,景氣差或許是個危機,但有能力的人可以把它變成轉機,端看你怎麼面對和處理。是,或許有很多企業在景氣不好的時候選擇保守以對,但是相對的,體質好、有競爭力的企業(和人),則把這一刻視為甩開競爭對手迅速崛起的好機會。
永遠不要放棄你的目標與夢想,記得Randy Pausch在『最後一堂課中』所說的嗎? 我很喜歡那一段,他大致上是這麼說的:『當你朝目標前進的時候…有時是不是會發現有座橫躺在你目標前面的牆? 知道那座牆為什麼會擋在那邊嗎? 那座牆是用來幫助你擋住那些其它並不是真正想要達到目標的人們!』
如果你的目標夠清楚、動力夠充足、信心夠堅定,你真的想要達成目標,那恭喜你,那座牆就不是用來擋住你的(因為它擋不住你的),注意,那座牆是用來擋住『除了你以外的那些其他人的』,為的是要讓成功的果實只留給真正努力和奮鬥過的人…
或許2009年的你,遭逢著可能是有生以來全球最大的不景氣,但是,你真的想達到你的目標嗎? 你對你過去所信仰的一切依舊夠堅定嗎? J
如果是,請繼續翻開這本書,歡迎您和我們一同來到 Silverlight嶄新的世界…
Keep Walking, May The Force Be With You~
接下來幾天,我會把書中的一些範例和章節、以及目錄都貼上來,這本書對我來說是蠻特別的,除了歷經很多波折之外,自己也拖了很久的時間,底下是這本書的序,這篇序大概是我有史以來寫過最長的序了,隨手寫來,一發不可收拾,索性就全文照刊,算是和大家的一點分享了。
2009的感言 - 代序
坦白說,這本書的出版是稍稍有點艱辛的…除了筆者自己拖稿延誤之外,其他大大小小波折還真不少…
故事可以從2007年開始說起,07年,微軟推出Silverlight 1.0,在台北這個偉大的小地方,就出了四本原創的繁體中文書,幾乎可以說是有史以來第一遭,台北的出版速度快於全球,能量也可說是居冠亞洲,其中幾位作者的Silverlight書籍也都陸續在內地上市出版(包含筆者自己的),很快的,一年過去了,時至2008,Silverlight 1.0已經大幅度改變成2.0,並於2008/10月正式誕生,但是隨時全球景氣的趨緩(或是我應該說衰退?),出版Silverlight 2.0書籍的出版社和作者不僅速度變慢,同時能量也變少…
難道,新聞報導的全球蕭條以然來臨?
在商言商,出版社和作者很難在出版與撰寫一本書的時候完全不考慮銷量,或許我們在BLOG上可以純粹為了紓發一己之悠情,不計代價的隨手寫寫貼貼,但是從文字稿檔案到出版成一本書,其中出版社所耗費的精神(或是費用)其實不能說完全不用考慮,這導致很有可能一些相當好的主題卻沒有辦法跟大家見面,例如有一位讀者一直鼓勵 (後來變成建議、最近開始變成要求…) 我用VB寫一本design pattren的範例書籍,我要老實地說,其實我很想,但是我不敢…就算我敢寫,出版社可能也不敢收…
然而好的技術,是否應該繼續推廣?好的觀念,是否應該介紹給更多的人知道,是否應該鼓勵大家進而使用在自己的專案當中,避免再用傳統辛苦的方式去Hard Coding出你要的成果,或是因為一時的便宜行事導致後續專案的維護困難?這些問題的答應我相信相當清楚而一致…
也因此,2008年一整年我除了日常的工作之外,也配合微軟在台灣北中南分別舉辦了好幾場的Silverlight 2.0技術發表會和研討會,在台北也有一些Hands-on Lab的課程,隨著Silverlight 2.0正式上市,我相信這部分將會愈趨火熱,我們將會有更多的研討會場次和課程將會與大家見面…
Silverlight 2.0是一個好技術,我想參與過筆者研討會或課程的學員們應該不會反對,對於.NET的開發人員來說,我們期待一個可以超越Flash同時取代傳統UI呈現方式的技術已經很久,而這個技術又必須有前瞻性,與未來的.NET開發架構相結合,必須和現有的技術相容,與ASP.NET相輔相成,同時又有足夠的第三方Resource和社群支援,讓開發的過程得以沒有後顧之憂…
無論怎麼看,Silverlight2.0都符合這個特質。
或許,你會困擾於Silverlight 1.0和2.0兩者之間的差異與相容性,甚至擔心Silverlight 3.0是否又會有一番大改?這部分,在筆者的課程中我也常常和學員討論,我要說的是,從我的角度來看,Silverlight 1.0和2.0幾乎可以說是獨立的兩種產品,哪怕它都稱作Silverlight,但是其實目標客戶的對象和能夠呈現出的功能是有所不同的。儘管2.0上市了,我不認為1.0的東西要拋棄或是改版更新,1.0就是1.0,原本的功能和目標用戶都沒有變,2.0則提供了更多的可能性,當然在Run-Time的部分也稍微增大了一些(從1.4M到4.6M),這些當然是為了讓.NET開發人員在Web Solutions的UI層能夠提供給客戶更優質的操作界面和可能性…
然而Silverlight 3.0呢? 您別操心了,除了功能增強之外,程式碼的撰寫方式依舊是你所熟悉的.NET Code,更何況, RunTime的部分是整個向後相容的,你不需要擔心2.0開發出的應用程式將來無法執行,即使是以Silverlight 2.0為基礎開發的類別庫或控件,到了3.0依舊可以正確運行無誤。
然而微軟的版本更迭在這幾年確實是快到一個不行,也因此,這次其實我很想做了一個嘗試,本來這本書的書名並不打算跟著微軟的Silverlight 2.0或3.0版,我想用的是『Silverlight 2009範例集權威講座』這個書名,表示這本書同時適用於2.0和3.0版,我想試著不要用產品的版次編號,而用我自己對該技術研究的年分作為書籍的版本區隔,這也意味著,在2009年初所出版的這本Silverlight專書中,所蒐錄的是我對Silverlight這個技術截至2009年上半年的研究心得,所以當然,這個心得是涵括Silverlight各種版本的,未來技術若持續更新,我也會陸續發表相關的心得。後來,礙於擔心使用者混淆以及總總其他原因和各方面的考量,最後我們還是掛上了Silverlight 2.0這個書名,但是當然依舊是相容於未來推出的3.0,同時我也相信本書在內容上是有足夠的前瞻性的。
這是一個現實上的妥協,我跟各位一樣,是身陷專案中的實務開發人員,我知道礙於現實,你不見得會立刻跟著微軟改版,但是微軟的改版速度卻太快,一本Silverlight 2.0的書才剛出來,還沒開始賣,搞不好就要出3.0了(天知道這個狀況會不會在4.0時繼續出現?),然而我說過,一本書,應該是經驗的累積,在技術更迭如此迅速之下,如果都要依照這樣的速度來出書,那哪來經驗的累積?
很有可能(如果讀者、市場、和出版社允許),在軟體改版依舊如此頻繁的狀況下,未來我盡可能不特別針對微軟的新技術寫新書,而是跟著我自己對各種新技術所研究的時間和心得出版,也就是說,Silverlight 2.0, 3.0, 4.0…由於工作與授課之故,我會持續的研究和學習,但是我不會在每次改版時都立刻跟著出版Silverlight 1.0, 2.0, 3.0, 4.0的書,因為這樣真的沒啥意義,但是我會盡可能分別在每一年,出版當年我針對Silverlight這個技術主題的學習心得和成果,算是跟大家的分享,前提當然是市場、讀者、和出版社如果都還接受的話。
請讀者特別注意,在這種形式之下,一本書的內容是不可能包山包海的(寫出很厚的書並不是我的目的),但是我很有把握地跟讀者說,書中的內容絕對會對你的『實務開發』有幫助,我不想寫一本只是介紹(或翻譯)MSDN文件上的內容的書,所以,我會假設讀者可以自己找到相關的MSDN資料,自己可以把基礎的東西補足,而書裡,我盡可能的只分享使用或開發心得,透過這些經驗,讓讀者避開一些不需要的額外嘗試與挫折。
另外,由於資訊科技的快速更迭,讀者總還是會有需要和我們一起討論問題的時候,從現在開始,請你到我們的專屬網站(網址在書上有公布),在這邊,我會開放一個可以和大家一起討論的空間。你可以把你在觀念上需要釐清的問題POST出來,在工作之餘,我會盡可能回答,但是請不要叫我幫你看程式或改程式,我很害怕讀者這樣^^。
回到Silverlight,總而言之,如果你厭倦於用ASP.NET+AJAX只是為了在WebForm上呈現出類似Windows應用程式的UI(或是處理一些沒道理的介面邏輯)、如果你需要給客戶(或用戶)耳目一新的感覺、如果你希望為未來帶來一些不一樣的可能性,我相信,在這個階段進入Silverlight 的行列,是個挺好的選擇。為什麼我那麼有把握和有信心這麼說? 因為我所屬的公司和我自己開發的產品,都已經用上Silverlight這個新的技術。
我常講,亂世也有人能賺錢,景氣差或許是個危機,但有能力的人可以把它變成轉機,端看你怎麼面對和處理。是,或許有很多企業在景氣不好的時候選擇保守以對,但是相對的,體質好、有競爭力的企業(和人),則把這一刻視為甩開競爭對手迅速崛起的好機會。
永遠不要放棄你的目標與夢想,記得Randy Pausch在『最後一堂課中』所說的嗎? 我很喜歡那一段,他大致上是這麼說的:『當你朝目標前進的時候…有時是不是會發現有座橫躺在你目標前面的牆? 知道那座牆為什麼會擋在那邊嗎? 那座牆是用來幫助你擋住那些其它並不是真正想要達到目標的人們!』
如果你的目標夠清楚、動力夠充足、信心夠堅定,你真的想要達成目標,那恭喜你,那座牆就不是用來擋住你的(因為它擋不住你的),注意,那座牆是用來擋住『除了你以外的那些其他人的』,為的是要讓成功的果實只留給真正努力和奮鬥過的人…
或許2009年的你,遭逢著可能是有生以來全球最大的不景氣,但是,你真的想達到你的目標嗎? 你對你過去所信仰的一切依舊夠堅定嗎? J
如果是,請繼續翻開這本書,歡迎您和我們一同來到 Silverlight嶄新的世界…
Keep Walking, May The Force Be With You~
留言
非常高興這本書截稿了,期待能早點買到你的書。
未來也請繼續電腦書的寫作,加油~~~
語言用C#或VB
個人覺已經不是個很大的限制
不過我在工作上卻是用C#, 主要的原因是客戶和專案的需求,坦白說我偶而也會在兩者之間有點混淆,不過反正習慣了也就OK。
沒辦法兩者語言的書都出多少還是因為時間的關係,不過我在想對於中高階的讀者來說,不管閱讀的是VB或是C#都可以輕鬆的轉換才是。如果時間允許,我還是會盡可能的出C#版本...
上一本1.0的書讓我驚喜不斷,於是期待這本書上市已經好久啦…
當然,並不是好書買了,自己看完之後就會變成專家啦,但是有沒有一本好書(好老師)來指引自己學習卻是重要的。
==
研討會快到囉!期待上David老師的課,哈哈~
謝謝你的支持囉~
to k` ,
目前已和博文視點接洽, 準備出版中, 我想應該不用隔太多時間, 就會在內地上市了。
以技術分類這個主意不錯!
標題就多加一個 AT 就好了
ex.
Silverlight@2009
Your Friend Soop
Good Idea...^_^
我發現現在的程式設計好像有點不是程式設計了,感覺我們一直在用micro給的toolkit和一些看不到開放碼(或許應該說是雖然看得到,但是他調用來調用去的,實在讓人頭昏眼花,有看也沒懂)的控制項。感覺離程式設計愈來愈遠(對我這種半路出家的人來說啦),好不容易有點懂了,一個新的技術(或是說extend 控制項)又來了…
最近的感覺一直是這樣,小弟是名國小教師,一直有遠大的抱負「作一個功能齊全,比美企業界的學務管理系統」想實現,但是國小教師裡有學.net的人我還碰不到一個,再這樣閉門造車,不學點正規的、企業式的東西實在也不是辦法…
最近小弟想到臺灣上點課來充實一下,重學asp.net等東西,,不知道老師有沒有開班授課??或是推薦像您一樣有理念、有觀念、有信念的講師,把我從苦海深淵解救出來…
請老師幫忙了…