程式設計師關注的15個Silverlight訣竅

2020-12-05 IT168

    【IT168 技術】我熱愛Silverlight,並且身體力行寫了很多Silverlight程序,也討論了很多關於Silverlight的技術。對於剛剛接觸Silverlight的開發人員來說,這篇文章是最適合你的。這篇文章列出了我使用Silverlight進行開發後,發現的15條小訣竅。如果你是一個全職的Silverlight開發的話,我希望你能了解並掌握它們。

  我不會談論MVVM,Prism或者MEF這些複雜的以至於嚇跑讀者的東西。

  1. 下圖中黃色的高亮文字代表了Silverlight 對象的MIME類型,而不是運行時版本信息。許多開發人員第一次看到這段代碼的時候都會認為這個地方是引用了Silverlight的版本信息,例如Silverlight 4.

  一個Silverlight宿主應用程式的HTML/ASPX代碼:

  2. Silverlight只支持PNG格式的圖片,不能直接使用GIF格式的圖片。如果你一定要使用GIF圖片的話,可以考慮使用基於Silverlight開發的 .NET Image Tools Library。很多人已經構建了將GIF轉換為PNG的Web服務,可以直接使用。我推薦你使用Paint.NET來進行圖片格式轉換。

  3. 如果用戶沒有安裝Silverlight 4插件,下圖中黃色高亮代碼(在ASPX或者HTML文件中)會提示用戶下載。

  如果你改變連結如下:

 

  結果會一直要求用戶下載最新的Silverlight運行時,新版本的運行時會默認向後兼容。

  4. Silverlight中所有的數據操作都是異步的,下面的代碼其實是不能工作的:

MyOldWebService srv = new MyOldWebService();  

string strReturn = srv.GetSomeValue();  

txtValue.Text
= strReturn;

 

  我們可以通過調用WCF服務來解決這個問題(比如在Page的InitializeComponent方法之後來調用):

public MainPage()  

{  

    InitializeComponent();  

    Service1Client client
= new Service1Client();  

    client.DoWorkCompleted
+= new EventHandler<DoWorkCompletedEventArgs>  

                 (client_DoWorkCompleted);  

    client.DoWorkAsync();  

}  

  

void client_DoWorkCompleted(
object sender, DoWorkCompletedEventArgs e)  

{  

    MessageBox.Show(e.Result);  

}

 

  5. 優先使用Silverlight模板和主題,微軟默認為應用程式提供了4種主題供用戶選擇。在VS2010中還可以使用內置的導航應用程式模板,Blend4中還有一些關於MVVM的模板。一句話,除非有特別需要,否則不要開始從零開始你的應用程式。

  6. 花時間學習Blend4。我們沒必要手工寫出全部的XAML代碼,Blend4可以幫助我們創建Silverlight、WPF 以及Windows Phone7應用程式。無法想像如何直接寫出創建故事板或者動畫的代碼,但是在Blend中卻很簡單。Blend的學習曲線有一些陡峭,但是是完全值得的。

  7. 優先使用Silverlight Toolkit。

  Silverlight Toolkit是由微軟提供的一系列的Silverlight控制項、組件和工具的集合。Silverlight Toolkit獨立於Silverlight自身的發布周期,由微軟Silverlight開發團隊負責。通過積極向社區發布產品信息,得到用戶反饋,然後為開發者和設計者快速添加新功能。Silverlight Toolkit完全開源,整個集合包含了所有開原始碼、單元測試、示例代碼以及文檔,提供了超過26個新的控制項涵蓋圖形繪製、樣式布局以及用戶輸入等多個方面。

  8. 需要注意的是,任何人都可以通過Silverlight Spy或者.NET Reflector來查看已發布的Silverlight應用程式的代碼。如果你的應用程式是基於網際網路的,最好進行代碼混淆。再輔以一些安全限制,或者採用你在其他Silverlight應用程式中看到的方式。

  9. Silverlight的XAP文件其實是更換了後綴名的Zip文件。你可以使用一些外部工具例如7zip,將文件進一步壓縮。這些工具還可以打開XAP文件檢查項目的內容。

  10. 如果並不是所有用戶都需要某個文件,該文件不應該打包在XAP文件中。每一個反對這個說法的人都會說:「帶寬是廉價的」,但是如果你有50到100個圖片或者別的二進位文件,那麼代價會是高昂的。總之我只會把所有用戶都必須的文件打包在XAP中。

  11. 你可以將Silverlight部署在IIS之外的其他伺服器上。在伺服器上註冊XAP文件處理後,只要客戶機上安裝了Silverlight插件,就可以訪問Silverlight應用程式了。

  12. 參加Silverlight技術社區,可以從中學到很多東西。我一般從Silverlight官方網站開始,再到Silverlight論壇。每天我都會訪問Silverlight Cream 和 Alvin’s Ashcraft’s Morning Dew,最後看一集John Papa’s Silverlight TV。

  13. 如果你掌握了XMAL,這些技術可以同時運用到Silverlight(廢話),WPF,Windows Phone7, Lightswitch以及微軟Surface。

  14. Silverlight可以在當前所有的主流瀏覽器包括Google的Chrome 6,IE, Firefox和Safari上工作,作業系統支持Windows和Mac OS。通過Moonlight可以實現Linux的支持。

  15. Silverlight可以確保用戶在不同的瀏覽器上得到相同的體驗。對於HTML頁面來說,在Firefox上可以正常工作的,那麼在IE 6.0上不知道會發生什麼。但是Silverlight是基於插件的,每個瀏覽器上都可以確保得到相同的體驗。

相關焦點

  • Silverlight3特點分析
    作者:佚名來源:博客園|2009-12-31 15:01 Silverlight3的發布,又為開發人員帶來了很多新的功能
  • 深入淺出 Silverlight 5 功能大曝光
    Silverlight 4基礎上做了一些補充和增強  •豐富的媒體表現能力  •增強的圖形展現能力  •構造下一代商業應用程式  •信任模式的增強  •性能提升  •工具完善  其中,大多數增強來自於在線調查  http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions
  • 程式設計師的這108個笑話 你都看得懂嗎?-程式設計師,笑話,編程, ——快...
    15、殺一個程式設計師不需要用槍,改三次需求就可以了。16、C++程式設計師看不起C程式設計師,C程式設計師看不起java程式設計師,java程式設計師看不起C#程式設計師,C#程式設計師看不起美工。周末了,美工帶著妹子出去約會了,一群SX程式設計師還在加班。17、問:如何生成一個隨機的字符串?答:讓新手退出VIM。18、「我給你出個腦筋急轉彎,你說達文西密碼的上面是什麼?」
  • 程式設計師的真實工資有多少?程式設計師可以幹多久?
    程式設計師的真實工資有多少?程式設計師可以幹多久? 2019-12-24 15:56:01 來源:有途網
  • 教你6個煎魚訣竅,做對了完整不破皮,肉嫩無腥
    香煎魚的特點,是簡單快速,而且通過油煎讓魚肉香酥肉嫩,但香煎魚有個最大問題,就是烹飪細節沒有做到位,容易粘鍋導致魚肉散碎,尤其是廚房新手,根本無法保證魚身完整不破皮,如果你正打算烹飪香煎魚,建議你不要著急,先看本篇文章,教你煎魚訣竅和烹飪方法。煎魚時粘鍋肉散?
  • 15歲程式設計師在遊戲《GTA5》中使用真正的無人駕駛技術
    相信很多遊戲迷都玩過《GTA 5》,這是一款評價極高、口碑極好的開放世界遊戲,但有個小缺點就是地圖太大,從一個地方到另一個地方往往太遠了。但對於天才程式設計師來說,這些都不是事。據外媒VICE報導,德國一名15歲的程式設計師雷昂.希爾曼(Leon Hillman)已經使用了Comma.ai的開源軟體,並在GTA5中對其進行了改裝,以實現無人駕駛汽車。
  • 程式設計師不好找對象?有緣網助力破解難題
    然而對於計算機界的程序猿來說,這是一個非常特殊的日子:程式設計師日。當聽到「程式設計師」這個詞的時候,大多數人腦海中第一反應到的是格子襯衫、高薪、加班、木納等,尤其在穿著上,格子襯衫已經成為了程式設計師最大的標籤,而不懂時尚,刻板無趣,不適合談戀愛是人們對這一群體另外的標籤。針對人們對程式設計師的標籤印象,有緣網進行了深入調查分析。
  • 中國程式設計師 VS 美國程式設計師,差距就在這五點
    什麼技術火就學什麼,然後進入一個大公司,做幾個成功的項目,積累工作經驗,幾年以後自己當個小管理,拿著十幾萬,或幾十萬的工資,再無追求的過著小日子就好。甚至到了30歲,如果沒能進入管理層,大多數人都會考慮轉行,或僅靠自身的知識累積開始創業。美國程式設計師大多數都是因為熱愛編程行業而從事這份工作的,他們會專注某一個領域幾十年。
  • 7500個比特幣被程式設計師當成垃圾扔掉
    近日,網上一位英國程式設計師備受人們的關注,被爆出他將藏有7500枚比特幣私鑰的硬碟當垃圾扔掉。這意味著什麼?根據相關數據,1月6日,比特幣延續漲勢,盤中一度突破35000美元,再創歷史新高,相當於買一枚比特幣需要近23萬元人民幣。有網友對此表示,這可是把好幾個小目標都給弄丟了。
  • 程式設計師要讓你的電腦死機需要多久?黑客:3個按鍵,5個字符
    諸多行業中,程式設計師應該是一個比較特殊的群體,許多人一提起程式設計師,腦子裡除了高新之外,總會不自覺的和木訥、拖沓聯繫在一起。而且現在的網絡發達,網絡中大量的黑程式設計師的段子,許多人根本沒有接觸過程式設計師,但看完那些段子之後,就會形成這樣的印象。
  • 大廚透露:不管炒什麼青菜,掌握這3個「訣竅」,青菜油綠不變色
    大廚透露:不管炒什麼青菜,掌握這3個「訣竅」,青菜油綠不變色隨著人們生活水平的提高,人們的飲食也變得越來越豐富,但是不管人們餐桌上的食物變得多麼的豐富,餐桌上面永遠都會有一盤青菜。青菜中含有大量的維生素和纖維素,日常飲食只有葷素搭配,才能夠滿足人體每日所需的營養。
  • 炒西蘭花時,焯水或不焯水都錯了,掌握三個訣竅,翠綠鮮嫩又營養
    炒西蘭花時,焯水或不焯水都錯了,掌握三個訣竅,翠綠鮮嫩又營養!女兒特別喜歡吃西蘭花,從她周歲開始,我就經常做西蘭花給她吃,也不知道是不西蘭花吃的多,女兒從小到大就沒怎麼生過病。炒西蘭花看起來是很簡單普通的一道家常菜,而實際上要想做出來的菜健康安全,好吃又營養,還是有訣竅的。我經常有聽到,一些家庭主婦們為了給家人做西蘭花,到底是焯水還是不焯水而爭論不休。說焯水的,是為了菜品更好吃好看;說不焯水的,是為了不損失營養。大家的說法都沒錯,都是為了給家人做出有營養又健康、色香味俱全的家常家餚,只是對西蘭花的特點和烹飪訣竅還沒有掌握。
  • 普通程式設計師與高級程式設計師有什麼差別?你知道嗎?
    程式設計師的基本能力是:Tasking和學習能力。當好程式設計師的能力是:用更好的方法來實現功能。0.文檔能力「文檔是第一生產力」,這一點在程式設計師的世界是毫無異議的。俗話說:「不會寫文檔的程式設計師不是一個好程式設計師」。
  • 程式設計師工資一般多少 到35歲真的沒人要了嗎
    程式設計師這個行業,大家都不陌生,目前這個行業很有景氣的。平時有不少人在討論程式設計師行業,比如說程式設計師是青春飯,程式設計師很難找到對象等等。那麼,現在程式設計師工資一般多少呢?據說,程式設計師過了35歲就沒有人要了。隨著網際網路迅速的發展,而程式設計師行業更加備受關注了,現在有很多行業脫離不了計算機,而程式設計師需求也會一直存在。同時,大家也關注的程式設計師的工資,你知道現在程式設計師工資一般多少錢嗎?下面我們一起來了解一下吧!根據一份數據顯示,程式設計師薪酬水平僅次於企業中高層管理者,近半程式設計師稅前收入過萬。在一線城市,大部分程式設計師的工資已過萬。上海程式設計師收入最高,16.9%月入2萬及以上。
  • 暴漲的比特幣、特斯拉與被程式設計師統治的世界
    這篇文章的緣起,基於一個命題:關注科技並熱衷於投資的讀者,都知道在2020年增長最迅猛的資產是比特幣和特斯拉的股票,為什麼它們會如此這般的迅猛增長? 對於這個命題,同樣深受阿西莫夫影響的T先生認為:這種暴力增長核心是,程式設計師在統治著這個世界。
  • 資深程式設計師大佬告訴你,如何成為一個C++高級程式設計師
    C++這門語言從誕生到今天已經經歷了將近30個年頭。不可否認,它的學習難度都比其它語言較高。而它的學習難度,主要來自於它的複雜性。現在 C++ 的使用範圍比以前已經少了很多,java、C#、python 等語言在很多方面已經可以代替C++。但是也有很多地方是其他語言完全無法替代的,主要集中在需要運行效率比較高的行業,比如遊戲、高效的伺服器。
  • 不發項目獎金,程式設計師怒刪代碼,被判 5 個月!
    整理 | 王曉曼責編 | 伍杏玲出品 | 程序人生 (ID:coder _life)之前CSDN 報導過,一外國公司因縮減專利獎金,員工拒絕提交代碼的故事:程式設計師怒了!你敢削減專利獎金,我敢拒絕提交代碼!
  • 被嫌棄的35歲程式設計師
    一位 35+ 程式設計師在求職網站自述,他在今年年初被裁後的 2 個月裡,瘋狂海投簡歷、面試,只拿到了 6 個非大廠 offer,最終他決定平薪入職其中一家。打擊面並不僅限於職場。在某社交平臺上,一位程式設計師憤憤表示,新認識的交友對象對「程式設計師到了 35 歲就退休」的定律感到介意,以致於感情快告吹了。
  • 保溫杯裡泡咖啡的不是老總,是程式設計師!
    ,不知道今天的程式設計師們有沒有抱著保溫杯泡枸杞養生一下今天我們的話題中心就是我們的程式設計師你身邊有沒有這樣的人他們的穿著一身格子襯衫雙肩包、格子襯衫的標配穿起來啊說句題外話,今天被冷風吹到懷疑人生的請關注我阿光教你怎麼保暖,吼吼問題來了,沒有接觸過程式設計師並不知道程式設計師的真實生活是什麼樣的
  • 這時候不要慌,2個訣竅必須掌握
    為了讓小夥伴們更好地了解遊戲中的內容,希望大家能動動小手關注一下。本期內容在我的世界的生存模式中,有一個問題被玩家所忽視,那就是開局尋找羊的方法。有些非酋玩家的出生點很奇特,周圍不僅沒有羊,甚至連一頭牛都沒有。那這時候該怎麼辦呢?不要慌,演說家來幫你,有2個訣竅必須要掌握。往期的內容中,演說家說到過擴建火柴盒的問題。