RIA,Rich Internet Application
豐富網際網路應用程式,提供更佳的網路互動體驗與效能

RIA一詞,最早是由Macromedia公司在2002年提出,出自一篇談論Flash MX的白皮書,文中提出RIA應該要符合下列幾個條件:

● 讓程式執行、產生內容與溝通互動更具效率
● 在單一環境中整合內容、互動與應用程式介面
● 在互動性上,可以提供強大且具有擴充性的物件模型
● 透過元件與重複利用達到應用程式快速開發
● 透過展現層與資料的分離,讓遠端Web資料更易交換、運用
● 兼具線上與離線端應用程式
● 容易部署在不同平臺與裝置

雖然仍有為Flash量身打造之嫌,但的確也為網路應用程式應有的走向,作了一番釐清。回顧WWW的發展,最早的概念是以文件的型態發展,因此使用簡單HTML文件格式,方便生產文件與交流資訊。後來雖然利用前端的JavaScript或伺服器端的程式,讓網站更具互動性,然而從文件思考開始的WWW,卻讓它不容易像桌面應用程式般,可以清楚分割資料與介面,因此在使用者操作介面與習慣上,一直存在某些不便之處。例如某些企業打算將應用程式Web化,但最後不是效能不滿意,就是軟體的操作習慣不合業務人員的要求。

而Flash的出現改變了這個態勢,它透過向量動畫與Action Script,可以在網際網路上製作出相當精緻的使用者介面與效果,讓Web的應用程式也能有如桌面端應用程式。

RIA先由Flash打了前鋒,之後Ajax應用興起,讓JavaScript發揮所有潛力,展現出日趨廣泛的RIA應用。

RIA的概念,在微軟提出WPF和Silverlight技術後,成為更受矚目的議題。WPF和Silverlight分別是作業系統與瀏覽器平臺的展現層新技術,並且能與微軟的程式開發語言結合,開發出進階應用。文⊙黃天賜


過去Flash這類的多媒體技術往往只被看成是動畫影音技術,事實上,透過適當的UI設計與資料呈現方式,將能呈現更為豐富、更容易理解的資訊方式。圖為StockFetcher網站透過Flash展現股市資訊。


AIR,Adobe Integrated Runtime
Adobe整合執行環境

代號為Apollo的AIR,是Adobe為了布局下一代RIA所發展的技術,它在作業系統平臺上提供執行環境,讓RIA可以不用局限在瀏覽器上執行,能經由AIR中介,建立和部署跨作業系統的桌面豐富型網路應用程式。

由於突破瀏覽器的限制,它能讓像HTML、Flash、JavaScript等網站技術,也具備作業系統層級的I/O存取能力,讓網站在線上與離線狀態都能使用同一版本。

Ajax
非同步JavaScript與XML

Ajax是「Asynchronous JavaScript and XML」的縮寫字,是透過JavaScript非同步傳輸頁面資訊,讓使用者在與網頁應用程式互動過程中,無需等待頁面重新載入,而獲得有如桌面應用程式般的使用體驗。Ajax並沒有應用太多的新技術,卻大大改變現有網站的風貌與應用。

Ajax盛行,帶動網站應用程式朝更佳的互動性發展,也讓RIA有了更容易實作的應用方式。

Flash
二維動畫開發工具

Macromedia公司在1996年推出Flash,是以影格時間軸為主體的向量動畫軟體。由於它能發布到網頁上,設計出豐富的音效與動畫效果,而仍維持相當小的檔案體積,因此在Web上造成相當大的轟動,改寫過去以單純的文件和圖片為主的Web頁面。

由於Macromedia在2005年被Adobe併購,Flash也收歸Adobe門下,並積極發展,將Flash作為RIA的重要武器。

Flex
程式設計人員的Flash開發工具

就RIA的開發而言,Flash是以動畫為出發點的軟體,要設計出企業應用的Web應用程式,Flash就不見得是那麼適合。而Adobe Flex便是因應這樣的需求而生。

Flex提供圖形開發介面,使用基於XML的MXML語言。Flex內建多種元件,像是互動介面、圖表、拖曳物件、DataGrid、Web Services等,對於企業應用的開發不但更快速,也能發展出更符合使用者習慣,更直覺的操作介面。

JavaFX Script
JavaFX腳本程式

JavaFX是由昇陽公司在2007年推出,成員有JavaFX Mobile與JavaFX Script,前者是行動裝置上的腳本語言,後者昇陽的RIA解決方案,能夠在Java執行環境上執行。

JavaFX Script不採XML作為圖形描述語言,而是採用比Java更為簡單的腳本語法,直接進行程式開發、邏輯判斷、設定方法等。透過JavaFX Script,開發人員可以撰寫基於瀏覽器的應用程式或跨平臺的桌面軟體。

Presentation Layer
展現層

在N-tier架構中,通常會分為展現層、商業層(Business Tier)與資料層(Data Tier)。展現層是用來構造人機介面,設計出良好的操作介面與資料呈現方式,讓使用者更容易理解資訊,也更容易操作資訊。

有別於過去網頁資料與操作介面全都混雜在一起,RIA強調讓展現層獨立於商業邏輯與資料之外,讓設計與開發流程可以獨立作業,日後介面的更動也更具彈性。

Silverlight
微軟RIA新技術

微軟甫於9月推出的Silverlight,原名WPF/E,是WPF的一個子集,它以瀏覽器為平臺,提供展示與互動的向量動畫、影音的能力,可視為與Flash是相似概念的技術。

不過Silverlight仍有與Flash有幾點相異之處,像是Silverlight目前透過JavaScript控制動畫物件,在未來會更進一步支援C#與VB語法。此外,Silverlight也透過XAML技術,解決Flash無法被搜尋引擎搜尋內容的問題。

WPF,Windows Presentation Foundation
視窗展現基礎

WPF是Windows Vista的繪圖子系統,也能執行在安裝有.NET Framewrok 3.0的環境中,它採用向量繪圖法,因此圖形在縮放時不會失真,同時它也支援3D圖形繪製。

WPF能作為用戶端的應用程式介面,也可以用在分散式系統的前端。WPF包含了兩個開發介面,XAML是WPF用來定義使用者介面的API,另外可以透過.NET程式語言,處理使用資料與進階互動。

XAML
擴充應用程式標記語言

XAML是eXtensible Application Markup Language的縮寫字,是微軟以XML為基礎所發展出的標記語言,使用範圍在應用程式的展現層。

目前在微軟WPF與Silverlight中,都能見到XAML的蹤影,它不但能用來設計向量的圖形介面,也可以用來展示動畫、觸發事件等。XAML的出現對於RIA發展意義而言,是讓展現層與程式邏輯分離,促使RIA的開發流程更為順暢。

熱門新聞

Advertisement