自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Silverlight 之輕

開發(fā) 前端
為什么Silverlight在推出短短三年左右時間內(nèi)就能觸動企業(yè)開發(fā)者呢?原因很簡單,Silverlight具有良好的后臺語言框架支持,這就是基于.Net高級語言的精簡運行環(huán)境。具體而言原因有三.

第二屆Silverlight Firestarter 發(fā)布會在美國召開,微軟企業(yè)副總裁 Scott Guthrie 發(fā)布了Silverlight 5 的一系列新特性,并宣布Silverlight 5 將注重豐富的媒體體驗與企業(yè)應(yīng)用開發(fā)兩大方面的改進。其中針對媒體方面的改進包括GPU硬解碼、H.264等5項功能,而針對企業(yè)應(yīng)用方面的改進包括64位操作系統(tǒng)支持、IE 9硬件加速、向量打印、文本清晰度、調(diào)用非托管代碼等30多項功能,可以看出Silverlight已經(jīng)逐漸將其未來重心轉(zhuǎn)向企業(yè)級應(yīng)用方面(一直以來,筆者都認為Silverlight的強項應(yīng)該是企業(yè)應(yīng)用)。

silverlight

Silverlight作為微軟“三屏一云”戰(zhàn)略中展現(xiàn)層的重要技術(shù),越來越引起企業(yè)開發(fā)者的注意。新浪財經(jīng)、騰訊、淘寶、口碑網(wǎng)等互聯(lián)網(wǎng)企業(yè)已經(jīng)嘗試使用Silverlight開發(fā)交互性較強的商業(yè)應(yīng)用,而一貫謹慎保守的大型金融公司陸續(xù)開始使用Silverlight來提高企業(yè)應(yīng)用的用戶體驗,比如中國人壽(網(wǎng)上服務(wù)應(yīng)用)、中國人保(商務(wù)智能應(yīng)用)已經(jīng)有相關(guān)應(yīng)用,而像花旗銀行、工商銀行這樣的大型銀行也在嘗試使用Silverlight來實現(xiàn)未來網(wǎng)上銀行一些功能。

為什么Silverlight在推出短短三年左右時間內(nèi)就能觸動企業(yè)開發(fā)者呢?原因很簡單,Silverlight具有良好的后臺語言框架支持,這就是基于.Net高級語言的精簡運行環(huán)境。具體而言原因有三:

  1. Silverlight之輕,即較之WPF、Java Swing、Delphi等C\S架構(gòu)有更加輕量的運行環(huán)境與零維護的特點:使用輕量的CLR Core運行時環(huán)境,不依賴于客戶端環(huán)境(無須安裝體積龐大的.Net Framework,這一點太棒了)。

  2. Silverlight之重,即較之Html+JavaScript等B/S架構(gòu)有更優(yōu)越的客戶端彈性:使用C#高級語言代替JavaScript來實現(xiàn)強大的客戶端計算能力、支持多線程,繼承了WPF豐富的樣式、控件、特效與動畫,更可控的瀏覽器適應(yīng)性,更安全的沙箱模式,客戶端嵌入式數(shù)據(jù)庫等。

  3. Silverlight之美,即較之傳統(tǒng)應(yīng)用有更友好的交互性,更酷的效果。支持完全面向用戶體驗的開發(fā)過程,其快速原型工具使需求與交付物更為明確,用戶體驗驅(qū)動開發(fā),設(shè)計與編碼分離。

在本文中,筆者要著重強調(diào)的是“Silverlight之輕!”, Silverlight是企業(yè)應(yīng)用展現(xiàn)層的輕量級解決方案,從本文開始,筆者將采用連載的方式與大家一起探討Silverlight在企業(yè)級應(yīng)用解決方案與特性。

silverlight

現(xiàn)在越來越多的企業(yè)已經(jīng)開始考慮將原有“豎井狀”的C/S與B/S架構(gòu)通過SOA等理念進行重構(gòu)與集成,譬如建立以客戶、產(chǎn)品、合同為中心的主數(shù)據(jù)管理平臺(MDM),采用數(shù)據(jù)即服務(wù)的方式對邏輯層提供服務(wù),使用企業(yè)服務(wù)總線(ESB)對這些服務(wù)進行消息路由、轉(zhuǎn)換、監(jiān)控及生命期管理,通過業(yè)務(wù)流程管理平臺(BPM)混編服務(wù)實現(xiàn)業(yè)務(wù)流程自動化,通過業(yè)務(wù)規(guī)則管理平臺(BRM)實現(xiàn)對業(yè)務(wù)邏輯自動化,最后這些應(yīng)用層服務(wù)形成了企業(yè)應(yīng)用的服務(wù)器端處理邏輯。而展現(xiàn)層就是企業(yè)應(yīng)用中實現(xiàn)人機交互的最后一步,即信息的輸入與展現(xiàn)?,F(xiàn)在的企業(yè)應(yīng)用解決方案中基于窗體的C/S與基于瀏覽器的B/S架構(gòu)幾乎構(gòu)成了企業(yè)應(yīng)用的全部,但兩者都有其優(yōu)缺點,C/S架構(gòu)在客戶端的處理能力與交互性較強,但維護性極差;相反,B/S架構(gòu)在客戶端的維護性極高,但對信息的處理能力、交互性、跨瀏覽器一致性方面都有不足。正是如此,相對C/S架構(gòu)更為輕型的Silverlight技術(shù)就成為了未來高度集成化的企業(yè)應(yīng)用中理想的展現(xiàn)層的候選方案。傳統(tǒng)的C/S架構(gòu),無論是VC++、Delphi、Java的Swing、還是.Net的WinForm、WPF都需要安裝體積笨重的運行時環(huán)境,即使客戶端程序永遠不會使用運行環(huán)境中的特殊組件,但使用者也只能被動接受這些組件占用計算機資源。而Silverlight有著更為輕便的運行式環(huán)境(Silverlight3的運行時環(huán)境4.3M,Silverlight4為6M),在如此小的運行環(huán)境下面有著B/S無法比擬的高級語言支持,也就是說Silverlight具有一顆.Net的心臟—CoreCLR。

silverlight

CoreCLR簡單來說就是CLR for Silverlight,是專門為Silverlight量身打造的輕型CLR,用來執(zhí)行Silverlight代碼。Silverlight基于C#高級語言,使用同樣的托管機制與MSIL中間語言,CoreCLR自備編譯環(huán)境、內(nèi)存管理器,不依賴于外部環(huán)境。打造這個輕型“心臟”的過程并不容易,對于輕型的RIA框架來說Silverlight運行時環(huán)境要考慮兩大問題:大小與兼容性。

大小就是運行時環(huán)境的大小,從用戶的角度來看,下載必須非常小。這就要求將功能集減至最少,目前 Silverlight4運行時環(huán)境大小為6M,CoreCLR中的DLL文件在CLR和WPF的類庫中幾乎都能找到,只不過大大裁剪了尺寸。這其中就包括對基類庫(BCL)的消減,.Net BCL中的很多功能在 Web 客戶端上都沒有任何意義,例如:由于 Silverlight 不支持 CAS,因此大部分 System.Security 都不是必要的,System.Console 等許多桌面類在 Web 中也沒有任何意義。因此,CoreCLR刪減了大量服務(wù)器端類庫(如ADO.NET),去除非泛型集合類(如ArrayList,完全可以通過泛型集合類代替),同時將復(fù)雜的桌面類也一并去除(如PLINQ和一些動態(tài)類),但保留了.NET Compact Framework 和 Silverlight 間的兼容性。

對于兼容性而言,從編程人員的角度來看,針對 CLR 的編碼應(yīng)該始終相同。因此,Silverlight堆棧底部的各個組件使用了與桌面CLR相同的代碼,執(zhí)行引擎和虛擬機都必須相同,這部件包括類型系統(tǒng)、元數(shù)據(jù)、垃圾回收器 (GC)、JIT 編譯器、線程池以及運行時引擎的其他核心部件。但為了適應(yīng) Web 應(yīng)用程序,CoreCLR進行了一些更改,如富 Internet 應(yīng)用程序通常簡單且運行時間短,JIT 編譯器主要側(cè)重于減少啟動時間,而非執(zhí)行更復(fù)雜的優(yōu)化操作,同樣,服務(wù)器垃圾回收模式可以對使用相似分配模式的多個工作線程進行優(yōu)化,而對 Web 托管應(yīng)用程序則行不通,因此,Silverlight 只包含針對交互式應(yīng)用程序進行優(yōu)化的標準工作站 GC。

現(xiàn)在的.NET Framework里有一萬個類,十萬個方法,但CoreCLR中減少到了46個命名空間下不超過一千個類。

silverlight

C#之父(同時也是Turbo Pascal與Delphi之父)Anders Hejlsberg認為未來編程語言的發(fā)展趨勢及未來方向應(yīng)該朝著框架與工具發(fā)展。筆者認為未來的語言發(fā)展方向不是朝著大而全的運行時框架方向發(fā)展,而是朝著“輕框架、重工具組件”的方向發(fā)展。當我們使用Visual Studio開發(fā)應(yīng)用程序時,我們首先選擇的是“語言”,然后是“運行時框架”,再引入我們需要的“工具組件”。而精干的“運行時框架”與豐富的可選“工具組件”將為企業(yè)應(yīng)用提供更大的彈性、減輕程序大小、優(yōu)化響應(yīng)性能。

silverlight

事實上,目前很多金融企業(yè)的核心應(yīng)用已經(jīng)在朝著“去客戶化”、“去產(chǎn)品化”的小核心方向發(fā)展,“小核心”+“大外圍”使企業(yè)內(nèi)部核心具有更加持久的生命力、更加靈活的擴展性和更快的反應(yīng)能力。而企業(yè)應(yīng)用展現(xiàn)層也越來越青睞于使用小而靈活的運行時環(huán)境,開發(fā)者完全可以根據(jù)實際需求挑選合適的工具組件,提供更富彈性的展現(xiàn)層應(yīng)用。Silverlight的未來應(yīng)該更加關(guān)注適用性,而不應(yīng)該過度考慮基本功能的強大,否則將發(fā)展成為另一個WPF,而失去自己的方向。Silverlight4將Silverlight3的身軀加大了1.7M,加入了一些諸如集合接口ISet、延遲初始化類Lazy、元組對象工廠類Tuple等復(fù)雜類型,加重了Silverlight內(nèi)核。因此,在Silverlight5的Wish List中,筆者強烈要求Silverlight5關(guān)注解決跨設(shè)備的問題,而不要過度考慮加重基礎(chǔ)類庫的強大功能,加重Silverlight的包袱,使原本輕便的Silverlight CoreCLR變得更加臃腫,無法起飛。

“對于未來,希望Silverlight仍能輕舞飛揚!”

原文鏈接:http://www.infoq.com/cn/articles/wl-silverlight-light

【編輯推薦】

  1. Silverlight 之重
  2. Silverlight程序集緩存巧妙設(shè)置 優(yōu)化用戶體驗
  3. 微軟正式宣布Silverlight 5 Beta版新特性
  4. 在Silverlight應(yīng)用程序中調(diào)試WCF服務(wù)
  5. Silverlight開發(fā)的一些最佳實踐分享
責任編輯:陳貽新 來源: InfoQ
相關(guān)推薦

2011-01-26 09:50:18

Silverlight.NetJavaScript

2011-03-09 15:16:06

SilverlightHTML

2013-02-27 11:13:17

云計算運維阿里云開發(fā)者

2013-03-22 14:51:34

云計算運維阿里云

2009-10-29 08:45:48

Windows 7版本升級

2011-08-24 09:29:00

Silverlight

2011-10-14 13:50:54

數(shù)據(jù)庫遷移

2012-01-13 11:10:12

2010-08-06 15:44:28

Windows PhoWindows PhoSilverlight

2022-03-11 20:23:14

鴻蒙源碼分析進程管理

2009-02-02 10:53:34

SilverlightSilverlightRIA

2022-01-10 15:31:44

鴻蒙HarmonyOS應(yīng)用

2022-01-12 10:50:23

鴻蒙HarmonyOS應(yīng)用

2011-10-14 14:07:21

數(shù)據(jù)庫遷移

2022-02-09 19:25:49

Hi3861WiFi操作鴻蒙

2011-07-15 14:12:30

Silverlight

2009-02-02 10:08:25

SilverlightTwitterASP.NET

2009-12-29 16:21:46

silverlight

2010-11-02 18:47:28

SilverlightHTML5Web開發(fā)

2021-12-01 15:59:22

鴻蒙HarmonyOS應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號