Silverlight應(yīng)用技巧相關(guān)經(jīng)驗總結(jié)
Silverlight的推出為我們帶來了耳目一新的開發(fā)環(huán)境。在開發(fā)人員眼中,這應(yīng)該是一款在圖形媒體的處理方面非常強(qiáng)大的開發(fā)輔助工具。而且在一定程度上還能提高程序員的開發(fā)效率。我們在這里為大家總結(jié)了一些Silverlight應(yīng)用技巧的經(jīng)驗。#t#
最近公司里個項目,還在技術(shù)選型的階段,是屬于OA性質(zhì)的,小生當(dāng)時突然有個大膽的想法:用Silverlight做一個整站,就像現(xiàn)在互聯(lián)網(wǎng)很流行的網(wǎng)頁游戲一樣,全FLASH。
但是想歸想,一定要分析可行性的。下面就是我列出來的一些思路:
在目前所涉及的領(lǐng)域內(nèi),用來做完整的SILVERLIGHT的解決方案,還有許多問題存在
Silverlight應(yīng)用技巧一、切換問題(一個泛泛的定義),具體如
集成登陸后,如果定位在相關(guān)的頁面,眾所周知,我們出發(fā)點就是用Silverlight做整站,所以入口只有一個頁面,那么如果用戶進(jìn)入系統(tǒng)后需要進(jìn)入不同的功能界面怎么辦? 2)怎么實現(xiàn)前進(jìn),后退,F(xiàn)5刷新等功能?
Silverlight應(yīng)用技巧二、項目架構(gòu)和設(shè)計模式
在這樣的系統(tǒng)中,基本上不存在web頁面,有的只是xap,那么選擇什么樣的開發(fā)模式會更合適,用MVC會不會更好?用什么樣的數(shù)據(jù)通信方式,Web Service ? Web Client ?Remoting ?
Silverlight應(yīng)用技巧三、對office的支持,對本地IO操作,特別是ACTIVEX支持
對上述Silverlight應(yīng)用技巧的問題可以有一些方案彌補(bǔ)
1,Silverlight是有許多種傳參形式的,可以寫一個專門的路由器(我在開發(fā)中習(xí)慣這位稱呼,也可以理解為控制器,但用來分發(fā),我感覺用路由器這個名字更合適),用來根據(jù)參數(shù)定位界面,有點相似于urlRewrite,同時也可以借AJAX的書簽方案,進(jìn)行頁面定位,可以實現(xiàn)瀏覽器效果,前進(jìn)后退,刷新
2,表現(xiàn)層和數(shù)據(jù)提供層之間,用SILVERLIGHT封裝一層適配器,便可無視來源的處理WEB SERVICE,XML,REMOTING的數(shù)據(jù),至于開發(fā)模式,可能MVC更好一些,對MVC不熟,不便評論太多。
3,暫無未找到解決辦法,但因為是OA類的項目,這方面是必不可少的。如果有達(dá)者知道怎么處理,在SL里加入ACTIVEX控件,可以來教教我,那和OFFICE的結(jié)合不知道有沒有好的方法,比如能有個OWC這樣的控件。對于PPT,PDF之類的支持同樣重要。
而與此同時,在局部應(yīng)用方面的Silverlight應(yīng)用技巧,又存在很大的優(yōu)勢。
1.動態(tài)的表現(xiàn),對于多維報表,圖形報表,都 有很好的支持方案
2.復(fù)雜的業(yè)務(wù)邏輯頁面處理。
現(xiàn)行的頁面在處理,父子,本源-分支的頁面關(guān)系時都是使用打開IE窗口來實現(xiàn),而對于一些復(fù)雜的頁面邏輯,比如實時拖拽應(yīng)用,實現(xiàn)效果展示,及追求業(yè)務(wù)的完整性方面,現(xiàn)行都是普遍使用JS+DHTML方案,而SILVERLIGHT可以很好的解決之方面的問題
1,把父子,本源-分支的頁面關(guān)系封裝來一個頁面來實現(xiàn),避免了由于IE安全性設(shè)置或是第三方IE插件所引起的局部性失效,同時頁面控制由于一個通用管理器,方面于變量的傳遞
2,由于SILVERLIGHT本身的特性所致,會出現(xiàn)“一體性”的特點。既,對用戶來說,如果安裝了SILVERLIGHT插件,則SILVERLIGHT就能使用,反之,則不能使用,對用戶來說,不存在第三種可能,它是完整的存在。
而JS用于其不存在完整性驗證,在用戶大訪問量或是網(wǎng)絡(luò)傳輸不穩(wěn)定的情況下不能保存其完整性,如目前互聯(lián)網(wǎng)上大型的門戶或是要求安全級較高的網(wǎng)銀系統(tǒng)同樣存在這個問題(我就發(fā)現(xiàn)了不止一次招行的網(wǎng)銀報JS出錯,刷一下就好了,刷刷更健康)。