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