Adobe Flex 2.0主要功能模組示意圖。資料來源:Adobe


Adobe Flex 2.0並不只是為了搭上Web 2.0熱門的話題而已,如果Web 2.0提醒我們什麼事的話,應該是電腦終端使用者對網際網路的依賴與互動逐漸超越桌上型電腦。這次躍進再次突顯「使用者體驗」議題,其實作技術之一的「多樣化網際網路應用程式(Rich Internet Application,RIA)」技術早在2002年就由Macromedia(目前已由Adobe併購)開發,Flex即是RIA技術應用的後端伺服器產品,前端則以人們所熟知的Flash技術所呈現。

所謂的使用者體驗,依Adobe工程師經理倫永新的描述,主要是讓網際網路應用程式呈現類似桌面軟體的操作與使用者介面,特別是即時反應與互動等特性。倫永新並提到,RIA技術之所以能實現使用者體驗,主要具備以下特點:

● 與平臺無關,包括不同的×86硬體與作業系統。
● 擁有類似桌面軟體的使用者介面。
● 補足HTML網頁表達能力缺點。

Flex以企業用戶為主,將RIA技術應用在電子商務網站上更能完整展現使用者體驗的特性。由於這類網站包括大量的資料交易(Transaction)流程,使用者在交易過程中與伺服器密集互動,而互動的反應時間便代表著使用者體驗的指標。

更新3大主要功能模組,著重開發效率
Adobe為新版的Flex伺服器平臺也改進3個主要功能模組,

● Flex SDK 2.0
● Flex Builder 2.0
● Flex Data Service 2.0

重大改進簡介如下:Flex SDK由一組類別函式庫(Class Library)、元件庫(Components)、與編譯器(Compiler)等所組成,類似Java語言中所使用的函式庫。此版增加許多的控制函式,比前一版本增加更多對影像與動畫等控制,符合目前網頁越來越多的影音動畫需求,而編譯器在編譯ActionScript 3.0將有更佳的效率,例如降低伺服器記憶體使用率等。

Flex Builder則是用於開發RIA技術應用程式所需的整合式開發環境(IDE),2.0版採用Eclipse 3.1為底層核心,為開發人員提供程式碼檢索、資料鍊結,以及偵錯等功能。作為開發工具,Flex Builder自然也內建編譯器,讓開發人員在單一工具完成所有任務,降低開發時程。

Flex Data Service也同時改版,讓多層次架構上的資料同步機制更即時。當Flex應用在企業網站時,可以架設類似J2EE常用的多層次架構,但多層次架構會受限於底層資料庫,造成各層中伺服器資料同步的效率問題。Flex可擔任用戶端與中間層伺服器之間資料同步的任務,以及即時更新資料庫資料。用戶端更改某伺服器中某筆資料時,Flex會主動將連結其上、並使用該筆資料的伺服器,同步更動至最新,降低資料庫負載與Client/Server架構所常見的資料鎖定(Data Lock)問題。對瀏覽網頁的使用者來說,不必空等資料解鎖的時間,相對提高瀏覽更多資料的吸引力,以及停留的時期。

Flex Data Service另具備Data Push功能,主動將資料發送至大量的用戶端應用程式,改進傳統網頁採用Request/Response的輪詢模式,顯現較低的效率等問題。以典型的股票走勢圖網頁為例,即時更新的趨勢曲線,便足以提供用戶下訂單的機會。

物件導向化的ActionScript 3.0
Flex為實現RIA解決方案,也同時改進Flash Player與ActionScript語言。新版的Flash Player 9.0已不單是播放程式,內建ActionScript語言解譯器與ActionScript Virtual Machine,類似Java語言上的Java Virtual Machine(JVM)。簡單地說,Flash Player 9.0會將RIA應用程式中的ActionScript在第一次執行時,編譯並存放於Flex伺服器記憶體中,後續再使用該程式時便不需要重新編譯,提高伺服器運算效率。

ActionScript用於處理商業邏輯,3.0版採用物件導向技術,Adobe更讓它有著Java語言的嚴謹規則。例如3.0版將要求設計師定義明確的資料型態,舊版並沒有特別規定。此外,新版也具備例外處理(Exception Handling),這是企業級應用程式上重要功能,讓網頁應用程式出現錯誤時,引導伺服器產生例外處理,並以對話視窗告知使用者。

指引使用者的企業網站範例
我們以Adobe官方網站上所提供典型的購物網站為例,使用者通常會反覆經過以下幾個步驟:開啟網頁、登入使用者、搜尋商品、設定採購金額或數量、挑選/刪除商品、比較同級產品、放置購物車、鍵入個人信用卡資料等。傳統HTML網頁會經過不斷地換頁,此外,當某步驟錯誤時,按下瀏覽器的「回到上一頁」,原填寫的資料會被清空。

RIA技術所產生的網頁改進HTML網頁許多缺點,以換頁為例,RIA可以在使用者填寫資料時便驗證,並將結果顯示於錯誤欄位上方。當使用者搜尋產品時,搜尋結果可以條件式即時列舉於網頁上,有如搜尋本地端電腦檔案一樣。

此外,RIA技術可以將網頁內容視為一個物件,也就是使用者可以控制它們,只要設計師有規劃對應的功能。例如,使用者可以更改產品的顏色或配件,如此一來,使用者在虛擬購物卻可以體驗類似於實際商店選購的過程。不僅於此,RIA技術更擅長聲音、影像、動畫等整合,消費者可以與購物網站遠端的服務員,藉由網路攝影機或即時通訊,線上對話溝通,討論產品細節。對企業而言,消費者透過網頁應用程式對產品了解越多,越有助於交易的機率。電子商務網站是典型的使用者體驗範例,使用者在網路上完成完整的交易流程,只要交易未完成,便可以突顯出網站設計上的缺陷。網站設計的良好不一定在於資訊呈現的量多或量少,而在於適當地指引使用者找到所需的資訊,不是迷失在網頁中。


網頁上的控制棒是不是很類似桌上型電腦應用程式的設計?移動控制棒時,左側的產品資訊會立即更新,卻不用刷新網頁。資料來源:Adobe


Flex有著比AJAX更理想的互動特性
Adobe提出RIA概念,讓企業了解實現「使用者體驗」的解決方案。企業為何需要實現使用者體驗?Google快取的記錄網頁已超過十億,企業如何在眾多網頁中吸引使用者駐足?相對地,使用者找尋資訊的過程中,網頁扮演著資訊轟炸與視覺上的折騰,還是提供了良好的操作環境?在網路資訊的呈現受限於靜態網頁與動態網頁設計難度較高的時期,使用者體驗只是個理想。雖然Macromedia早在2002年提出Flash,但一直到Flex這個RIA後端的伺服器產品後,才有了具體的解決方案。在此之前,以Flash為使用者體驗的網頁,侷限於專業的網頁設計師才有能力完成。

瀏覽器雖然為網際網路的使用者帶來無地域限制的操作,但也限制了使用者互動。無論是DHTML或JavaScript,或Client/Server架構等試圖解決即時互動的問題,但卻受限於網路應用層,僅能在企業內部部署。Flex提供更為理想的解決方案,比起目前火熱、卻僅應用在展現層的AJAX技術更早且更先進。倫永新提醒道,「AJAX能做的事,RIA卻更完善」。

從酷炫網頁到J2EE商用平臺
隨著新版的改進,Adobe實踐使用者體驗上做的更多,RIS網站站長劉仲濱的實務指出,Flex讓企業設計出更酷、更炫的網頁,不僅是增加使用者的體驗,更增加使用者停留的時間。對企業而言,特別是網路交易平臺上,雖然目前無明確數據可證明使用者停留時間是否有助於成交的量,但可以確定的是,使用者短暫停留,甚至沒有耐心看完線上產品資訊便離開,交易自然無法完成。

倫永新也提到,Flex將更容易與J2EE應用伺服器結合,甚至與後端的ERP或CRM系統整合,為企業提供更強大的商業邏輯運算,而不只侷限在網頁美麗的外觀而已。文⊙張瑞隆

熱門新聞

Advertisement