RIA(Rich Internet Applications)富互聯(lián)網(wǎng)應(yīng)用,具有高度互動(dòng)性、豐富用戶體驗(yàn)以及功能強(qiáng)大的客戶端。
RIA的優(yōu)勢(shì)
特點(diǎn)
RIA 具有的桌面應(yīng)用程序的特點(diǎn)包括:在消息確認(rèn)和格式編排方面提供互動(dòng)用戶界面;在無刷新頁(yè)面之下提供快捷的界面響應(yīng)時(shí)間;提供通用的用戶界面特性如拖放式(drag and drop)以及在線和離線操作能力。RIA具有的Web應(yīng)用程序的特點(diǎn)包括如:立即部署、跨平臺(tái)、采用逐步下載來檢索內(nèi)容和數(shù)據(jù)以及可以充分利用被廣泛采納的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。RIA具有通信的特點(diǎn)則包括實(shí)時(shí)互動(dòng)的聲音和圖像。
客戶機(jī)在RIA中的作用不僅是展示頁(yè)面,它可以在幕后與用戶請(qǐng)求異步地進(jìn)行計(jì)算、傳送和檢索數(shù)據(jù)、顯示集成的用戶界面和綜合使用聲音和圖像,這一切都可以在不依靠客戶機(jī)連接的服務(wù)器或后端的情況下進(jìn)行。
部署RIA的好處
對(duì)于企業(yè)來說,部署RIA的好處在于:
1)RIA可以繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括
J2EE和
.NET),因而無需大規(guī)模替換現(xiàn)有的
Web應(yīng)用程序。通過
Rich Client技術(shù),可以輕松構(gòu)建更為直觀、易于使用、反應(yīng)更迅速并且可以脫機(jī)使用的應(yīng)用程序。
2)RIA可以幫助企業(yè)提供多元化的重要業(yè)務(wù)效益,包括提高銷量、提高品牌忠誠(chéng)度、延長(zhǎng)網(wǎng)站逗留時(shí)間、較頻繁的重復(fù)訪問、減少帶寬成本、減少支持求助以及增強(qiáng)客戶關(guān)系等。
發(fā)展態(tài)勢(shì)
在過去的兩到三年中,Web開發(fā)人員一直是想構(gòu)建一種比傳統(tǒng)
HTML更豐富的客戶端:這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。
RIA技術(shù)的出現(xiàn)允許我們?cè)谝蛱鼐W(wǎng)上以一種像使用Web一樣簡(jiǎn)單的方式來部署
富客戶端程序。無論將來RIA是否能夠如人們所猜測(cè)的那樣完全代替HTML應(yīng)用系統(tǒng),對(duì)于那些采用C/S架構(gòu)的胖客戶端技術(shù)運(yùn)行復(fù)雜應(yīng)用系統(tǒng)的機(jī)構(gòu)和采用基于B/S架構(gòu)的瘦客戶端技術(shù)部署Web應(yīng)用系統(tǒng)地機(jī)構(gòu)來說,RIA確實(shí)提供了一種廉價(jià)的選擇。下面介紹一下目前出現(xiàn)的幾種比較有實(shí)力或者有特點(diǎn)的RIA客戶端開發(fā)技術(shù):
1) Adobe Flash/Flex
Flash 從6.0開始Flash就逐步具備建立窗體風(fēng)格的應(yīng)用程序的功能。據(jù)Adobe稱已經(jīng)有98%以上的桌面系統(tǒng)的瀏覽器都安裝了 Adobe Flash Player。這使得以Adobe Flash Player為客戶端的RIA可以支持種類廣泛的平臺(tái)和設(shè)備。
Flex是為滿足希望開發(fā) RIA的企業(yè)級(jí)程序員的需求而推出的表示服務(wù)器和應(yīng)用程序框架,它可以運(yùn)行于J2EE和.NET平臺(tái)。Flex表示服務(wù)器提供基于標(biāo)準(zhǔn)的、聲明性的編程方法和流程,并提供運(yùn)行時(shí)服務(wù),用于開發(fā)和部署豐富客戶端應(yīng)用程序的表示層。Flex開發(fā)者使用直觀的基于XML的MXML來定義豐富的用戶界面。該語(yǔ)言由 Flex服務(wù)器翻譯成SWF格式的客戶端應(yīng)用程序,在Flash Player中運(yùn)行。
2) Laszlo
Laszlo 是一個(gè)開源的RIA開發(fā)環(huán)境。使用
Laszlo平臺(tái)時(shí),開發(fā)者只需編寫名為L(zhǎng)ZX的描述語(yǔ)言(其中整合了XML和Javascript),運(yùn)行在J2EE 應(yīng)用服務(wù)器上的Laszlo平臺(tái)會(huì)將其編譯成SWF格式的文件并傳輸給客戶端展示。從這點(diǎn)上來說,Laszlo的本質(zhì)和Flex是一樣的。Flash是任何瀏覽器都支持的展示形式,從而一舉解決了瀏覽器之間的移植問題。而且,在未來的計(jì)劃中,Laszlo還可以將LZX編譯成Java或.NET本地代碼,從而大大提高運(yùn)行效率。
3) Avalon
Microsoft的Avalon是下一版本的 Windows(代號(hào)"Longhorn")的一部分,是一個(gè)圖形和展示引擎,主要由新加到.NET框架中的一組類集合而成。Avalon定義了一個(gè)在 Longhorn中使用的新標(biāo)記語(yǔ)言,其代號(hào)為"XAML"(可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言)。可以使用XAML來定義文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以將它保留在一個(gè)單獨(dú)的文件內(nèi)。這與Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的應(yīng)用程序必須運(yùn)行在Longhorn環(huán)境中,而Flex和Laszlo是不依賴于平臺(tái)的,僅僅需要裝有
Flash播放器的瀏覽器即可。
4) Java SWT
Java 已經(jīng)出現(xiàn)幾年了,并且完全支持創(chuàng)建基于窗體的用戶界面。除了
Java基礎(chǔ)類(JFC/Swing)中的用戶界面組件之外,開發(fā)人員還可以使用來自于 Eclipse Project的SWT工具箱和許多第三方工具箱進(jìn)行開發(fā)。對(duì)于圖形來說,可以采用Java 2D API:一個(gè)非常完整且非常復(fù)雜的圖形API。你可以通過一個(gè)Web瀏覽器使用Java插件軟件,或使用Java運(yùn)行時(shí)環(huán)境中較新的Java Web Start技術(shù)來部署應(yīng)用程序。使用Java建立Rich Client的主要缺陷是它的復(fù)雜性(即使對(duì)簡(jiǎn)單的窗體和圖形也要求編寫非常煩瑣的代碼)和Java瀏覽器插件的低市場(chǎng)占有率。
5) XUL
XUL (念作"zool")是一種基于XML的用戶界面語(yǔ)言,它來自于Mozilla的開放源碼項(xiàng)目。它可用于建立窗體應(yīng)用程序,這些應(yīng)用程序不但可以在 Mozilla瀏覽器上運(yùn)行,而且也可以運(yùn)行在其他描述引擎上,如Zulu(一個(gè)Flash MX組件)和Thinleys(一個(gè)Java實(shí)現(xiàn))。XUL描述引擎都非常小(100K以下),它可以使用XML數(shù)據(jù)也可以生成XML數(shù)據(jù)。XUL的一個(gè)主要缺點(diǎn)在于它目前還沒有獲得一個(gè)主要商業(yè)實(shí)體的支持。XUL最大的優(yōu)點(diǎn)在于它與Gecko引擎的集成(打開了通向大量Web標(biāo)準(zhǔn)的大門),以及與大多數(shù)其它XML用戶界面描述語(yǔ)言相比它是一種非常具有表達(dá)力和簡(jiǎn)潔的語(yǔ)言。
6) Bindows
Bindow 是用Javascript和DHTML開發(fā)的Web窗體框架。Javascript用于客戶端界面的顯示和處理,
XML HTTP用于客戶端與服務(wù)器的信息傳輸。Javascript在客戶端的表現(xiàn)力不容置疑,利用Javascript幾乎可以實(shí)現(xiàn)
Windows應(yīng)用程序所能干的大部分事情,XMLHTTP 一直以來常被用于實(shí)現(xiàn)"無刷新"的Web頁(yè)面,它和
Javascript配合,可以完成數(shù)據(jù)從服務(wù)器和客戶端的傳輸。Bindows的一個(gè)主要的缺點(diǎn)是它采用一次全部載入的方式來實(shí)現(xiàn)腳本庫(kù),在窗口的加載期,需要一個(gè)漫長(zhǎng)的等待過程,甚至瀏覽器的進(jìn)程會(huì)產(chǎn)生無響應(yīng)的情況。這點(diǎn)Bindows根本沒有遵循"用多少去多少"的準(zhǔn)則。另外,內(nèi)部大量利用了IE6 的技術(shù),沒有考慮到非IE的瀏覽器,限制了Bindows的流行。
7)JavaFX
2008年12月05日 Sun微系統(tǒng)公司今天正式發(fā)布了基于Java語(yǔ)言的平臺(tái)JavaFX 1。0,這個(gè)平臺(tái)建立在其廣泛應(yīng)用的Java編程語(yǔ)言的基礎(chǔ)上,旨在建立大量可在電腦和手機(jī)上運(yùn)行的網(wǎng)絡(luò)程序。 Java一直以來就是編程語(yǔ)言,但是隨著JavaFX的發(fā)布,Sun公司開始允許將編程內(nèi)容創(chuàng)新這一任務(wù)轉(zhuǎn)移到以設(shè)計(jì)藝術(shù)為重點(diǎn)而非編程科學(xué)為重點(diǎn)的設(shè)計(jì)人員身上。
“我們的目標(biāo)群體是叫做創(chuàng)造者的人群”,Sun公司Java平臺(tái)組的高級(jí)副主任 OctavianTanase對(duì) 說,“隨著1.0版的發(fā)布,我們將目標(biāo)鎖定在網(wǎng)頁(yè)開發(fā)人員,這群可能拓展Java界面體驗(yàn)的人。到2011年,主要的目標(biāo)是大量使用諸如Adobe系統(tǒng)等設(shè)計(jì)工具的設(shè)計(jì)人員”。
當(dāng)然,通向這個(gè)以設(shè)計(jì)為導(dǎo)向的工具還需要一些時(shí)間。Sun公司最后打算提供自己的程序給設(shè)計(jì)人員來建立RIAS,但是直到如今,這些設(shè)計(jì)人員還得使用程序員所使用的Netbeans或Eclipse集成開發(fā)環(huán)境(IDE)。新工具將在來年夏天面市。
8)Curl
Curl誕生于1995年的美國(guó),Curl是由美國(guó)國(guó)防部高級(jí)研究項(xiàng)目代理資助,馬薩諸塞州科技學(xué)院的David A. Kranz開發(fā)的Web開發(fā)語(yǔ)言, HTML語(yǔ)言的創(chuàng)建者Tim Berners-Lee也參與其中,并扮演了重要的角色。
該語(yǔ)言的目標(biāo)是用一種統(tǒng)一的面向?qū)ο蟮恼Z(yǔ)言代替HTML、Cascading Style Sheets、JavaScript等;僅使用Curl便可開發(fā)出Web應(yīng)用的各種軟件;Curl程序在瀏覽器中運(yùn)行,并且因?yàn)樗灶愃艼RE的形式提供了客戶端運(yùn)行環(huán)境Surge RTE,能夠輕松開發(fā)出日益流行的Rich Client應(yīng)用程序。
Curl是為了實(shí)現(xiàn)富客戶端(rich client)應(yīng)運(yùn)而生的Web開發(fā)語(yǔ)言, 僅僅從其外觀的豐富性上就能體現(xiàn)其富客戶端理念。
為了實(shí)現(xiàn)真正有益的富客戶端,它能有效地實(shí)現(xiàn)各種復(fù)雜處理,具備提供高信賴、高擴(kuò)展性、高維護(hù)性的應(yīng)用程序所應(yīng)擁有的各種編碼能力。其擁有在Web環(huán)境上便利的分配、管理以及低廉的維護(hù)費(fèi)以及在C/S環(huán)境上的用戶便利性、迅速的應(yīng)答,華麗的圖像顯示等重多優(yōu)點(diǎn)于一身。
Curl語(yǔ)言于2002年在美國(guó)正式開始商業(yè)化,在美國(guó)和日本擁有重多的客戶和合作伙伴,現(xiàn)已進(jìn)軍北美及韓國(guó)市場(chǎng),發(fā)展勢(shì)頭迅猛。
9)SilverLight
微軟在Mix07上發(fā)布一些重大通告,其中最值得關(guān)注的就是SilverLight的發(fā)布,SilverLight的前身就是WPF/E技術(shù)。
這是一種新的Web 呈現(xiàn)技術(shù)的名稱,創(chuàng)建該技術(shù)的目的是使其能夠在各種平臺(tái)上運(yùn)行。該技術(shù)支持創(chuàng)建豐富的、具有絢麗視覺效果的交互式體驗(yàn),并且可以隨處實(shí)現(xiàn):無論是在瀏覽器內(nèi)、在多個(gè)設(shè)備上還是在桌面操作系統(tǒng)(如 Apple Macintosh)中。可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言 (XAML) 遵循 Windows 演示基礎(chǔ) (WPF),前者是”WPF/E”呈現(xiàn)功能的基礎(chǔ)。XAML 是 Microsoft .NET Framework 3.0(Windows 編程基礎(chǔ)結(jié)構(gòu))中的呈現(xiàn)技術(shù)。
RIA未來的發(fā)展預(yù)測(cè)
就目前RIA的使用情況來說,離"RIA時(shí)代"還有很遠(yuǎn)的一段距離。今后幾年時(shí)間內(nèi)傳統(tǒng)的Web應(yīng)用程序和RIA將會(huì)共存。筆者認(rèn)為真正具有實(shí)力擔(dān)當(dāng)起普及豐富客戶端應(yīng)用重任的只有基于Flash Player的Flash/Flex應(yīng)用程序和Microsoft的基于Avalon的應(yīng)用程序。短期時(shí)間內(nèi)(估計(jì)2-3年時(shí)間)可能是 Flash/Flex應(yīng)用程序在新興的網(wǎng)絡(luò)應(yīng)用程序市場(chǎng)上占有主導(dǎo)地位。
目前Microsoft還在推廣一種叫做Smart Client(智能客戶端)的客戶端程序技術(shù),Microsoft稱Smart Client是比Rich Client更優(yōu)秀的客戶端,因而采用Smart Client的應(yīng)用程序算不算RIA目前我個(gè)人還無法作答。這里我們之所以提及Smart Client,是因?yàn)镾mart Client的特性跟我們談的Rich Client有太多的相似之處。Smart Client擁有自動(dòng)更新、離線狀態(tài)下的數(shù)據(jù)處理和可以使用本地資源等特征,其中的可使用本地資源這一項(xiàng)無疑是一大賣點(diǎn),因?yàn)闉g覽器中的 Flash/Flex應(yīng)用程序目前還無法操作本地的一些資源,比如Flash/
Flex應(yīng)用程序無法將網(wǎng)上的文件保存到本地或者修改本地文件。雖然
Macromedia的Central1.5已經(jīng)可以對(duì)本地文件進(jìn)行簡(jiǎn)單的操作,并且flex1.5開發(fā)的RIA也能夠運(yùn)行于Central上,但是如何使Central能夠得到大范圍推廣還是個(gè)問題。相對(duì)于輕量級(jí)的Rich Client,Smart Client更接近
C/S架構(gòu)中的客戶端程序。Rich Client和Smart Client的定位還是有所區(qū)別的:Rich Client更適合作為輕量級(jí)的基于瀏覽器的網(wǎng)絡(luò)應(yīng)用程序客戶端;Smart Client更適合作為Windows桌面應(yīng)用程序的智能客戶端。
不管我們今天稱之為的RIA今后會(huì)不會(huì)成為主流應(yīng)用程序,人們對(duì)開發(fā)具有高度互動(dòng)性、豐富用戶體驗(yàn)以及功能強(qiáng)大的客戶端的追求是不變的。有理由相信,擁有成熟技術(shù)和極高市場(chǎng)占有率的Flash客戶端將會(huì)在RIA道路上越走越遠(yuǎn)。Microsoft未來的重量級(jí)武器:Avalon和Smart Client能否后來者居上讓我們拭目以待。
RIA
放射免疫測(cè)定/放射免疫分析(Radio immunoassay,RIA)
基本原理:
在放射免疫分析的實(shí)驗(yàn)中,加入超量的標(biāo)記抗原*Ag與未標(biāo)記抗原Ag(即:
待測(cè)抗原)與較少量的抗體(Ab)競(jìng)爭(zhēng)性結(jié)合。
如果實(shí)驗(yàn)結(jié)果所計(jì)量到的結(jié)合物(*Ag-Ab)放射活性較高,表示待測(cè)物的濃度較低。
如果所計(jì)量到的結(jié)合物放射活性較低,則表示待測(cè)物的濃度較高。 藉由標(biāo)準(zhǔn) 曲線圖的分析,可以推算出待測(cè)物的濃度。