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