Silverlight跨平臺(tái)實(shí)現(xiàn)技巧總結(jié)
Silverlight跨平臺(tái)的特性在開(kāi)發(fā)人員嚴(yán)重時(shí)一個(gè)非常重要的特點(diǎn)。那么我們?nèi)绾尾拍苷_的實(shí)現(xiàn)Silverlight跨平臺(tái)呢?正如微軟在其專(zhuān)業(yè)開(kāi)發(fā)者大會(huì)上所表示的那樣,他們會(huì)不斷給Silverlight增加新特性和功能。 #t#
對(duì)于那些因?yàn)榈降资鞘褂肳indowsPresentationFoundation(WPF)還是Silverlight開(kāi)發(fā)Windows應(yīng)用程序而感到糾結(jié)的開(kāi)發(fā)人員來(lái)說(shuō),微軟的生命知道在混沌中給了他們一些光明。不過(guò),一些觀(guān)察家卻指出,微軟的這一策略存在一個(gè)缺點(diǎn)。把COM技術(shù)融合到Silverlight中,微軟實(shí)際上破壞了Silverlight是一個(gè)支持Windows、Mac跨平臺(tái)瀏覽器插件這樣一個(gè)之前所承諾的事情。
將于2010年中發(fā)布的Silverlight4---微軟最新的Web應(yīng)用框架/插件---承諾支持COM對(duì)象,只適用于運(yùn)行在Windows平臺(tái)上的Firefox或InternetExplorer。無(wú)論是MacOSX還是Linux都不支持COM。
微軟的官員們很快指出,新增的支持COM組件特性是應(yīng)客戶(hù)的需求,而不是微軟的個(gè)人意愿。當(dāng)被問(wèn)到關(guān)于其保持Silverlight同步的跨平臺(tái),微軟一位發(fā)言人說(shuō):
"為了滿(mǎn)足客戶(hù)的功能需求,我們給Silverlight4增加了8000多個(gè)功能。其中一個(gè)具體的客戶(hù)請(qǐng)求就是增加對(duì)訪(fǎng)問(wèn)COM組件的支持,以便能夠讓開(kāi)發(fā)人員輕松訪(fǎng)問(wèn)一些
Silverlight跨平臺(tái)硬件功能,比如掃描器和安全智能卡閱讀器。"
微軟官員表示,他們正在研究如何將某些COM組件訪(fǎng)問(wèn)增加到Mac版本的Silverlight中。上述發(fā)言人表示:
"不幸地是,Mac并提供COM接口,我們正在積極對(duì)于在Mac平臺(tái)中增加類(lèi)似于COM的功能進(jìn)行方案評(píng)估。"
但是,關(guān)于如何以及什么時(shí)候能夠讓Mac版Silverlight支持COM,微軟沒(méi)有進(jìn)一步表示。
同時(shí),Novell的開(kāi)發(fā)平臺(tái)副總裁MigueldeIcaza則似乎更加急切地想為Moonlight---微軟和Novell合作開(kāi)發(fā)的Silverlight的開(kāi)源版本---添加Silverlight4相同的功能。Icaza表示:
"對(duì)于Moonlight團(tuán)隊(duì)來(lái)說(shuō),Silverlight4的發(fā)布意味著有更多工作要做,我們要把Silverlight的3和Silverlight4的各項(xiàng)功能整合到Moonlight中。當(dāng)我在PDC2009上表示‘Silverlight4的發(fā)布令我非常激動(dòng)、著魔和吸引,就像剛剛應(yīng)用了一倍功能飲料一樣’,其實(shí)我是表達(dá)了整個(gè)Mono團(tuán)隊(duì)的心聲。"
微軟發(fā)布Silverlight4這一舉動(dòng)意味著Silverlight正在向微軟的通用語(yǔ)言運(yùn)行庫(kù)(CLR)發(fā)展,CLR正式.Net框架的核心。開(kāi)發(fā)Silverlight應(yīng)用程序的桌面套件不是一個(gè)白日夢(mèng),deIcaza說(shuō),它是一個(gè)真正可行的項(xiàng)目。
有些開(kāi)發(fā)人員已經(jīng)開(kāi)始憧憬Silverlight操作系統(tǒng)。但是微軟更迫在眉睫的問(wèn)題是:如果想要繼續(xù)在這個(gè)市場(chǎng)上"玩"下去,微軟必須讓Silverlight跨平臺(tái)持續(xù)下去。