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~

留言

匿名表示…
David 大哥
非常高興這本書截稿了,期待能早點買到你的書。
未來也請繼續電腦書的寫作,加油~~~
匿名表示…
vb的代碼要銷大陸很吃虧。
匿名表示…
請問老師以後都不再出asp.net的書籍了嗎?還有現在出本新書會出c#的嗎?
匿名表示…
架構在 net framework 底下
語言用C#或VB
個人覺已經不是個很大的限制
匿名表示…
我自己還是喜慣和喜歡VB, 而且下一個版本的VB非常強大, 過一陣子或許大家就會看到了^_^

不過我在工作上卻是用C#, 主要的原因是客戶和專案的需求,坦白說我偶而也會在兩者之間有點混淆,不過反正習慣了也就OK。

沒辦法兩者語言的書都出多少還是因為時間的關係,不過我在想對於中高階的讀者來說,不管閱讀的是VB或是C#都可以輕鬆的轉換才是。如果時間允許,我還是會盡可能的出C#版本...
匿名表示…
至於ASP.NET的部分,就如同我先前說的,我需要再強調一次,『適當的技術用在適當的場合』本來取向就不同,適用的場合也不同,我在這本Silverlight專書中大致上有說明,Silverlight的設計和目的並不是為了取代ASP.NET,同一個問題(需求)的解決方案本來也就可以有多種,每一種都有自己的好處和優缺點,這些我再Seminar和書籍當中都有討論,因此,ASP.NET的書籍我還是會出,不過就像我在這篇序上說的,我不一定會跟著微軟的版本,而是用我自己的研究時間點,也希望讀者會支持...
匿名表示…
光看新書的目錄,就讓人熱血沸騰丫!
上一本1.0的書讓我驚喜不斷,於是期待這本書上市已經好久啦…
當然,並不是好書買了,自己看完之後就會變成專家啦,但是有沒有一本好書(好老師)來指引自己學習卻是重要的。
==
研討會快到囉!期待上David老師的課,哈哈~
匿名表示…
大陆现在没有这本书的消息。。。。。。。。。。唉。
匿名表示…
to 旭峰,

謝謝你的支持囉~

to k` ,
目前已和博文視點接洽, 準備出版中, 我想應該不用隔太多時間, 就會在內地上市了。
匿名表示…
跟微軟技術版本的一直追書,真的會累,是吧?
以技術分類這個主意不錯!

標題就多加一個 AT 就好了
ex.

Silverlight@2009


Your Friend Soop
匿名表示…
To Soop,

Good Idea...^_^
fishweep寫道…
老師您好,讀完您的篇文章,小弟也是心有戚戚。小弟學網頁程式是從你的asp.net開始,那時便得認同您的書籍,所以一路上也只讀你的書了,從net1.0到2.0,ajax、silverlight,內容雖然對初學者的我來說有點艱澀,但您和其他作者的不同在於會和前版或是傳統的寫法做比較,還有一些專案前你都會把構想寫上,再加上您是用vb來寫的,比較符合我笨拙的語言能力。所以小弟實在很感佩您,小弟也因此寫了一個網站 163.25.133.1 可以說都是您的功勞。但是看完您這篇文後得知您的silverlight2.0已問世, 卻讓小弟有些卻步了。
我發現現在的程式設計好像有點不是程式設計了,感覺我們一直在用micro給的toolkit和一些看不到開放碼(或許應該說是雖然看得到,但是他調用來調用去的,實在讓人頭昏眼花,有看也沒懂)的控制項。感覺離程式設計愈來愈遠(對我這種半路出家的人來說啦),好不容易有點懂了,一個新的技術(或是說extend 控制項)又來了…
最近的感覺一直是這樣,小弟是名國小教師,一直有遠大的抱負「作一個功能齊全,比美企業界的學務管理系統」想實現,但是國小教師裡有學.net的人我還碰不到一個,再這樣閉門造車,不學點正規的、企業式的東西實在也不是辦法…
最近小弟想到臺灣上點課來充實一下,重學asp.net等東西,,不知道老師有沒有開班授課??或是推薦像您一樣有理念、有觀念、有信念的講師,把我從苦海深淵解救出來…
請老師幫忙了…

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

精彩(且驚人)的Semantic Kernel入門範例

使用Semantic Kernel 建立自然語言請假系統

在 LINE Bot 開發中使用Semantic Kernel建立自然語言請假系統

專業的價值...