Silverlight項目開發(fā)基準要領
Silverlight項目開發(fā)在實際應用中是一個比較復雜的過程。我們在這篇文章中為大家總結的是有關Silverlight項目開發(fā)的一些技巧經驗。都是在實際編程中慢慢積累的,希望可以對大家有些幫助。#t#
1、盡量使用代碼控制Silverlight項目開發(fā);
2、盡可能早的計劃好所有的用戶控件;這樣可以提前預期控件之間相互運作情況,便于整合項目;
3、嘗試分割不同功能到不同的用戶控件; 現在無論國內國外,開發(fā)隊伍通常來說都是3個人以上,分割不同功能到不同的用戶控件,可以減少相互之間的沖突和影響; 另外,在測試的時候發(fā)現問題,對于不同的小功能區(qū)域,方便Bug定位;另外也方便功能模塊的再利用。 這個是現在Web項目開發(fā)的一個常用規(guī)則。
4、盡量少用Loaded事件進行Silverlight項目開發(fā);
5、初始化的問題; 在每個用戶控件中,需要創(chuàng)建Initialize和Deinitialize公共方法。 在實際項目中,你可以把Event Handlers或者必須要運行一次的代碼,添加到Initialize方法中; 另外,也可以不用添加新的構造函數,直接傳遞參數到Initialize方法,通過New MyUserControl()使用這些參數; 最后,你可以使用Deinitialize方法清空控件,如果你調用了需要自定義的控件,使用Deinitialize方法在Silverlight項目開發(fā)中是非常必要的;
6、不要在XAML添加Event Handles; 因為XAML是屬于前臺設計人員,而Event Handling屬于開發(fā)人員,所以,Event Handler非常容易使用代碼進行添加;另外一個原因,如果你使用代碼添加了一個Event Handler,當該事件的控件名稱改變或者該控件被刪除,編譯器會提出錯誤說明; 但是如果把Event Handler放在XMAL,當該事件的控件名稱改變或者該控件被刪除,項目將返回一個常規(guī)異常,沒有詳細錯誤信息提示;
7、認真設計Silverlight項目開發(fā)布局; 我項目起步時,浪費了許多時間,在項目布局上,如果,布局合理,一定能節(jié)省很多開發(fā)時間;這樣就需要開發(fā)人員對Grid,StackPanel,Canvas,Border,Popup,ScrollViewer,DockPanel等布局控件有深刻的了解;通常,你會發(fā)現,Grid非常適合做Header,Footer,Sidebar等等; 而復雜的布局結構,建議使用Canvas,需要注意的是,如果Canvas的高和寬是固定的,這樣就很容易造成布局混亂,這點一定要注意;如果需要調整子控件的布局,推薦使用StackPanel;設計Silverlight項目布局,通常我們習慣使用Expression Blend,但是,強烈建議你,在使用Blend后,需要在VS下對XAML代碼進行一次核查,這樣可以確認各個控件的參數正確,同時也可以刪除Blend自動產生的多余代碼;
8、盡量避免使用固定的高度值和寬度值;在不設置固定的高度和寬度時候,Silverlight會根據你的解析度自適應瀏覽器界面,同時,各個控件將會自動縮放,以及排列位置; 另外,盡量不要使用負值的Margin,防止樣式變形;
9、不要將機密信息放在代碼中; 眾所周知,Silverlight是一個客戶端技術;用戶在使用的同時,將會下載XAP文件到本地,這樣非常容易被反編譯; 所以,一定不要把敏感的機密數據放在代碼中;
10、不要使用Image作為按鈕控件; 在Silverlight1.1中沒有Button控件,所以我們使用Image作為按鈕; 但是在Silverlight2或者3中,已經提供了Button控件,我們需要盡量使用Button控件; 這個原則也適合其他控件,盡量使用Silverlight提供的控件,方便狀態(tài)管理和事件管理;
11、在Silverlight項目開發(fā)性能上,盡量減少XAP的尺寸,提高加載項目速度,另外,減少各個用戶控件的載入時間; 避免使用Windowless=True;
12、使用Web Service進行服務器數據存??; 因為Silverlight是運行在用戶主機的,所以不能直接和服務器或者數據庫進行通訊,當前有很多種Silverlight項目開發(fā)方式可以存取服務器信息和數據庫,但是推薦使用Web Service(WCF),個人認為這個方法是最簡單,最快捷的;
13、小心使用Isolated Storage; 一定不要把機密信息放在Isolated Storage;