利用Flash建構高互動性網站
相較於Workplace的Rich Client是企業內部協同合作的應用,IBM與Macromedia合作推出的Flex展示伺服器,則是針對電子商務推出的解決方案,希望藉由RIA(Rich Internet Application)的介面,顛覆目前的網站操作經驗,協助企業建置互動性更強的網站。
透過Flash提供的用戶端經驗,Macromedia稱之為「Halo」,是Rich Internet Application的一種跨平臺經驗模式,Flex就是藉由Halo模式,結合桌面應用程式的反應力與豐富性,及網頁應用程式的散播力,以協助企業目前網頁應用程式缺乏用戶端智慧的情況。Flash Player是散播應用的通路
根據NPD Group的統計,Flash Player的安裝率高達98%,所以若採用Rich Client的架構,用戶端額外安裝的負擔減少很多。此外,Flash Player檔案並不大,全新下載Flash Player的話,檔案大小約400k;如果僅是功能更新,Flash引擎會自動偵測下載需要更新的部分,使用者不見得會察覺系統更新行為。
Macromedia把Flash Player定位為一個「通路」,目前支援的平臺包括電腦及PDA,未來將延伸應用到手機及數位電視。由於Flash使用向量技術,不論下載至任何平臺,Flash檔不用重寫,只需調整需要呈現的內容即可,所以不但可減輕開發人員的負擔,也可保證用戶擁有一致的使用經驗。
相較於網頁資料無法保存狀態,Flex應用程式在Flash Player虛擬機器上執行,可呈現即時的資訊,及處理欄位驗證、資料格式化、排序、過濾、提示、整合影像、行為及效果等用戶端工作,無需換頁或返回上一頁。如果以Flash呈現網站內容,由於Flex展示伺服器會編譯MXML檔案,成SWF格式的Flash檔,因此用戶端無法檢視原始程式碼,安全控管機制不易被破解,因此可避免傳統網頁可能的安全性問題。
Flash 6.0以後的版本,已支援資料連結的功能,Flex提供Flash Remoting、Web Services、Java Object、Http Query及XML等,四種執行期服務(Runtime Services)串連後端伺服器,整合企業資源。此外,Flash整合視訊功能,可以物件形式加入影音內容。Flex解決方案架構
在多層式(N-Tier)應用程式架構中,Flex展示伺服器位於介面層,用以改善目前HTML網頁夾帶用戶端程式碼的問題。企業既有的架構導入Flex,不需要更動商業邏輯層,只是加入一個展示伺服器,強化介面層。
Flex展示伺服器以WAR檔部署在現有的Java應用伺服器,並在應用伺服器中執行。目前Flex支援IBM WebSphere、BEA WebLogic、Macromedia JRun及Apache Tomcat,預計年底推出.NET的版本。
Flex應用程式由MXML及ActionScript組成,MXML用以宣告定義應用程式中使用者介面的元素;而ActionScript 2.0則處理用戶端邏輯與控制程序。程式背後的Flex類別程式庫,包含Flex元件、資料繫結、行為與其他功能,開發者運用類別程式庫建立使用者介面及程式行為。
Flex展示伺服器不是發布赤裸裸的MXML檔及ActionScript程式,而是由Flex應用程式編譯成SWF格式的Flash檔,下載至用戶端以Flash Player執行。利用執行期服務,Flex應用程式也可與應用伺服器及資料庫溝通交換資料,以對用戶端使用者的動作產生回應。ActionScript 2.0瞄準C#及Java開發者
過去Macromedia提供Flash MX作為開發工具,卻遭遇一大瓶頸,因為雖然業界有很多Flash的設計人員,卻不見得有足夠的Flash開發人員。由於ActionScript開發應用程式相當複雜,Flash獨有的時間軸、舞臺及動畫等的概念,與一般程式開發的邏輯大不相同,導致學習的門檻讓開發人員感到挫折。
因此Macromedia針對新推出的Flex做了大幅的修正,以MXML設計使用者介面,而ActionScript 2.0則撰寫商業邏輯及元件的行為。為降低開發的門檻,Macromedia遵循ECMAScript 4標準,改寫了ActionScript推出ActionScript 2.0,是物件導向的程式語言,瞄準C#及Java的開發人員,採用傳統的程序化開發方法,語法與Java相同,只是引用的物件及方法不同,所以熟悉Java的開發人員將很容易上手。
由於Flex是IBM與Macromedia合作的產品,因此未來Java開放原始碼開發工具Eclipse,會推出Flex的外掛程式,至於其他的開發工具,Macromedia會釋出Flex的程式庫,只要加入Feature Plug-in,即可支援Flex。設計用戶端介面的MXML
跟HTML一樣,MXML是描述使用者介面內容及功能的標記語言,然而不同的是,MXML分隔介面與商業邏輯的關聯性,用戶端邏輯由ActionScript 2.0處理。Flex展示伺服器會編譯兩者成為SWF格式的Flash檔,如果要修改介面內容,只需調整MXML檔,無需更動ActionScript 2.0程式,可提高應用程式的重複使用性,強化生產力。
MXML是以XML為基礎的標記語言,目前除了Macromedia Flash MX外,記事本及UltraEdit等文字編輯器均可撰寫MXML,不過如同手工撰寫HTML是不夠直覺的經驗,Macromedia預計今年暑假推出代號「Brady」的設計工具,是MXML的視覺化設計工具,以類似Dreamwaver的介面,提升設計MXML的便利性。
Flash Player的版本影響Flash的效能
根據瀏覽網站的經驗分析,雖然參雜Flash的效果令人目眩神迷,卻也需要一段等待下載Flash檔的時間。尤其是首頁的Flash檔,如果只是增加效果的動畫,使用者可能寧願選擇跳過。零壹科技技術顧問陳子龍表示:「這與Flash的最佳化經驗有關,有很多方式可以避免過長的等待時間。」
如果以Flex展示伺服器架構電子商務網站,Flash與HTML執行效能比較,的確是企業衡量的條件之一,陳子龍表示:「效能是重要的議題之一,不過對電子商務而言,快速的開發方式及更好的使用者體驗更為重要。」Flash的做法是先把需要的資料下載到客戶端,及時在客戶端運算,所以第一次會稍微慢些。不過後續的效能跟及時性,與HTML必須不斷更新網頁的使用經驗相較,是較優質的體驗。此外,效能也與Flash Player的版本有關,較新版的Flash Player,提供較好的效能品質。
適合Flex的應用類型
並不是所有應用程式都適合採用Flex導入RIA解決方案,零壹科技指出需要多個步驟才能完成的流程例如訂房系統,利用Flash整合所有步驟在單一視窗,可避免逐步設定不斷換頁的麻煩。
以現今的購物網站為例,使用者在選擇產品類型之後,還需選擇品牌、比對功能及價位,來回點選尋找適合的產品花費很多時間。結合Flex以Flash展現,使用者可在單一畫面設定產品的條件,後端伺服器即自動篩選出適合的產品,使用者再拖放需要的產品至購物車,這些程序都不需要換頁,將帶給使用者全新的網路購物經驗。此外,諸如需要許多手動操作的系統,及必須呈現視覺化內容的網站,也都是Flex適合的範圍。文⊙李延華
熱門新聞
2025-02-26
2025-02-25
2025-02-26
2025-02-24
2025-02-24