原創|其它|編輯:郝浩|2009-07-08 10:37:24.000|閱讀 458 次
概述:Silverlight,從出生就一直就備受關注,特別是大多數的程序員,在看習慣了灰屏黑字的傳統界面后看到這一閃的銀光,的確會心頭一振。小生學習這個也有一個月了,因為以前做過FLASH的游戲開發,所以學起Silverlight來信心十足,雖然還未有小成,但也有些心得。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Silverlight,從出生就一直就備受關注,特別是大多數的程序員,在看習慣了灰屏黑字的傳統界面后看到這一閃的銀光,的確會心頭一振。小生學習這個也有一個月了,因為以前做過FLASH的游戲開發,所以學起Silverlight來信心十足,雖然還未有小成,但也有些心得。
最近公司里個項目,還在技術選型的階段,是屬于OA性質的,小生當時突然有個大膽的想法:用Silverlight做一個整站,就像現在互聯網很流行的網頁游戲一樣,全FLASH。
但是想歸想,一定要分析可行性的。下面就是我列出來的一些思路:
在目前所涉及的領域內,用來做完整的SILVERLIGHT的解決方案,還有許多問題存在
1,切換問題(一個泛泛的定義),具體如
1).集成登陸后,如果定位在相關的頁面,眾所周知,我們出發點就是用Silverlight做整站,所以入口只有一個頁面,那么如果用戶進入系統后需要進入不同的功能界面怎么辦? 2)怎么實現前進,后退,F5刷新等功能?
2,項目架構和設計模式
在這樣的系統中,基本上不存在web頁面,有的只是xap,那么選擇什么樣的開發模式會更合適,用MVC會不會更好?用什么樣的數據通信方式,Web Service ? Web Client ?Remoting ?
3,對office的支持,對本地IO操作,特別是ACTIVEX支持
對上述問題可以有一些方案彌補
1,Silverlight是有許多種傳參形式的,可以寫一個專門的路由器(我在開發中習慣這位稱呼,也可以理解為控制器,但用來分發,我感覺用路由器這個名字更合適),用來根據參數定位界面,有點相似于urlRewrite,同時也可以借AJAX的書簽方案,進行頁面定位,可以實現瀏覽器效果,前進后退,刷新
2,表現層和數據提供層之間,用SILVERLIGHT封裝一層適配器,便可無視來源的處理WEB SERVICE,XML,REMOTING的數據,至于開發模式,可能MVC更好一些,對MVC不熟,不便評論太多。
3,暫無未找到解決辦法,但因為是OA類的項目,這方面是必不可少的。如果有達者知道怎么處理,在SL里加入ACTIVEX控件,可以來教教我,那和OFFICE的結合不知道有沒有好的方法,比如能有個OWC這樣的控件。對于PPT,PDF之類的支持同樣重要。
而與此同時,在局部應用方面,它又存在很大的優勢。
1.動態的表現,對于多維報表,圖形報表,都 有很好的支持方案
2.復雜的業務邏輯頁面處理。
現行的頁面在處理,父子,本源-分支的頁面關系時都是使用打開IE窗口來實現,而對于一些復雜的頁面邏輯,比如實時拖拽應用,實現效果展示,及追求業務的完整性方面,現行都是普遍使用JS+DHTML方案,而SILVERLIGHT可以很好的解決之方面的問題
1,把父子,本源-分支的頁面關系封裝來一個頁面來實現,避免了由于IE安全性設置或是第三方IE插件所引起的局部性失效,同時頁面控制由于一個通用管理器,方面于變量的傳遞
2,由于SILVERLIGHT本身的特性所致,會出現“一體性”的特點。既,對用戶來說,如果安裝了SILVERLIGHT插件,則SILVERLIGHT就能使用,反之,則不能使用,對用戶來說,不存在第三種可能,它是完整的存在。而JS用于其不存在完整性驗證,在用戶大訪問量或是網絡傳輸不穩定的情況下不能保存其完整性,如目前互聯網上大型的門戶或是要求安全級較高的網銀系統同樣存在這個問題(我就發現了不止一次招行的網銀報JS出錯,刷一下就好了,刷刷更健康)。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園