
Macromedia
在 2005 年 10 月, Macromedia 為開發人員社群首次推出 Adobe® Flex™ 2 - 包含開發人員工具、程式庫和執行時期服務的全新產品, 讓全球各地的開發人員製作和部署運用 Flash® Player 執行時期優點的 Rich Internet Applications。 自此之後, 數以萬計的開發人員已開始使用 Flex 製作應用程式, 並對我們提供意見回應。此外, Macromedia 成為 Adobe 的一員, 為改善網際網路應用程式的未來開啟了一個新商機境界。
在推出 Flex 2 beta 3 版後, 我們很榮幸在此展示最近幾個月的成果。 透過結合直覺式程式設計模型、以 Eclipse 為基礎的強大 IDE 和以 J2EE 為基礎的多樣化執行服務集, 我們相信 Flex 2 產品系列可為開發人員提供現今最完整的解決方案, 來製作跨平台的 Rich Internet Applications。 最新宣佈的價格方案讓開發人員可免費建立和部署許多種應用程式, 而毋需在伺服器上額外安裝程式。 此外, 最近推出的技術, 例如提供開放原始碼授權的 Flex-Ajax Bridge 和 Ajax Client for Flex Data Services 可讓開發人員逐步增加 Flex 元件至現有的網站和應用程式, 而毋需考慮它們使用的是 HTML 或 Ajax 技術。
2001 年初期, Macromedia 看到開發人員和設計人員在 Macromedia Flash 上所建立的成果, 創造了 "Rich Internet Application" 一詞。 很顯然地, 這些應用程式跨越了傳統 HTML 應用程式的設計限制與互動束縛。當使用者與之互動時, 不需要重新整理整個頁面, 而是能夠有效利用網路頻寬, 只傳送變更的資料部份, 將傳送版面配置資訊的次數降至最低。這些應用程式提供諸多互動功能, 可讓使用者直接操作資料。而應用程式的使用者介面更將音訊和視訊分層置放。隨著使用者瀏覽應用程式, 內容能仍保持不變。當然, 也支援高傳真的列印功能。
Rich Internet Application 帶來的影響極為驚人, 既廣且深。 從整天泡網路者一直到大企業, 都在建立 RIA, 也看見其為企業帶來大幅改革的效益。大型金融服務機構使用 RIA 來強化其對外品牌形象, 對內則能與任務關鍵性資料進一步互動, 加快企業決策速度。線上零售商可降低在結帳過程中的購物車棄買率, 效果達到 50% 之多。開發人員則能將純熟的線上地圖服務與紐約市交通號誌上所架設的網路攝影機整合, 讓通勤者有最即時和實用的交通資訊。
隨著客戶開始擴大使用 Rich Internet Application, 開發人員很快就看到了某些特殊需求。 有些 RIA 需要使用即時資料餵送。有些需要不時在連線環境下執行, 當建立連線時, 會自動同步化資料。有些需要使用專屬的二進位協定, 而有些則需要多個用戶端共用同一份資料執行個體。
根據我們與這些早期採用者的合作結果, 我們決定提供能夠滿足這些需求的 RIA 平台, 同時也能輕鬆延伸來滿足廣泛應用程式的特定需求。我們希望為開發人員提供用戶端執行時期、開發環境、類別程式庫及資料服務, 幫助他們:
我們很高興能夠推出 Flex 2 產品系列, 協助建立各種如臨現場的應用程式, 從簡單的餐廳菜單, 一直到複雜的工作流程系統和同步交易桌面程式。
如果您熟悉 Flex 1.0 或 1.5 版, 請務必注意, Flex 2 不只是新版本而已。 從技術的角度來看, Flex 2 所提供的功能可讓開發人員建立全新的 Rich Internet Application。 在此同時, 我們也重新建立 Adobe Flex Builder™, 該套工具以 Eclipse 開放原始碼 IDE 架構為基礎, 現更加入了 Flex Framework 與編譯器。 此外, ColdFusion® 和 Flex 團隊目前正密切合作, 以提供 ColdFusion 與 Flex Builder、Flex Data Services 和 ColdFusion Server 之間的特定整合點。
除了技術與產品的進展外, 我們還大幅變更了 Flex 2 的封裝、定價及部署方式。 Flex framework 可透過 Adobe Flex 軟體開發套件將 (SDK) 免費提供。 Flex SDK 包含命令列編譯器和說明文件, 用於開發、編譯和部署連接 XML 和 SOAP web services 的 Flex 應用程式。 它將提供個別下載, 讓開發人員免費建立和部署任何應用程式 (包括商用應用程式)。 我們也計劃免費提供適用於在單一、非叢集伺服器上同時允許有限連線版本的 Flex Data Services 2。 (當然, lex Data Services 2 也將推出商業授權版, 提供每一 CPU、專案和企業授權選擇。) 這些免費方案提供業界最強大的跨平台的 RIA 技術, 讓每位開發人員和專案都能取得。 其潛在市場相當龐大。
Flash® Player 是 Flash Platform 的骨幹, 也將成為 Flex 2 產品系列與新一代 RIA 的基礎。 多年以來, Flash Player 從一開始當做播放動畫的用戶端, 不斷加入對 ECMAScript 標準 (驅動 JavaScript 發展的同一標準) 各個部份的支援, 逐漸發展出指令碼語言 (ActionScript)。等到 Flash Player 7 發行時, ActionScript 已導入 ECMA 標準的絕大多數內容。Flash Player 9 (之前稱之為 Flash Player 8.5) 預定隨 Flex 2.0 產品系列出貨, 並隨之推出 ActionScript 3.0, 這是強大的物件導向程式設計語言, 能有效提升生產力與效能, 並以新一代 ECMAScript 標準為基礎。
Flash Player 8 (2005 年 9 月發行*), 在轉換引擎上有重大的進展, 加入了一套表達能力更強大的功能 (篩選器、進階的漸層控制功能、轉換效能等), 以及視訊強化支援 (更高品質的編碼解碼器、alpha 頻道支援等), 是今日網路上前所未見的。 Flash Player 8 也大幅改進了 API, 可讓開發人員在 Player 中執行的應用程式、瀏覽器的 HTML 文件物件模型以及相關的 JavaScript 函數之間通訊, 使開發人員能更容易將 Flash 元件加入到現有的網頁和應用程式。
Flash Player 9 則以 Flash Player 8 的進展做為基礎, 著重在加強虛擬機器上執行指令碼的效能。 事實上, 其中加入了全新並經最佳化的 ActionScript Virtual Machine (AVM), 稱為 AVM2, 為新版本的 ActionScript 程式設計語言。AVM2 是全新打造的功能, 可支援 RIA 開發人員的需求。新的虛擬機器大幅加快了速度, 能支援完整的執行時期錯誤報告和業界標準的除錯功能。此外, 還有二進位通訊端支援, 讓開發人員能將 Player 用於任何二進位協定。Flash player 9 也會包含執行 ActionScript 1.0 和 2.0 程式碼的 AVM1, 以向後相容於現有和舊版內容。
有了 ActionScript 3.0, 我們不僅僅只是與 ECMAScript 標準相容而已, Adobe 現更擔任 ECMAScript 委員會主席, 致力推動標準發展。ActionScript 3.0 的特色在於其編譯模式會在編譯時期更嚴格檢查類型, 兼具如 Java 或 C# 等語言的優點。其支援新功能來簡化資料操作, 包括 E4X (ECMAScript for XML) 標準, 能進一步延伸該語言, 並加入 XML 成為原生資料類型, 讓開發人員得以更自然地使用與操作 XML。此外, 也加入了規則運算式支援, 能進一步剖析和處理文字。這套新語言去除了舊虛擬機器中臨機操作的事件處理方式, 採用以 W3C DOM 事件標準為基礎的統一模型。同時, 也大幅更新 API, 為應用程式開發人員提供了進一步的支援。
如需新功能的完整介紹, 請參閱 ActionScript 3.0 概觀和 Flash Player 9 簡介。
Flex 產品系列提供應用程式開發人員強大的用戶端執行時期、程式設計模型、開發環境以及資料服務。這套系列支援通用的設計樣式、能與現有的開發與部署技術搭配, 本身又具備先進、遵循標準的語言優勢。這套產品系列提供下列多種技術:
Flex 2 以 Flex framework 為核心, 將做為 Flex 軟體開發套件 (SDK) 的一部份免費提供。 Flex Framework 以 Flash Player 9 和 ActionScript 3.0 為基礎, 新增了豐富的類別程式庫, 展現了建立成功 RIA 的最佳實務。 Flex Framework 提供豐富的可擴充使用者介面元件集、有彈性的版面配置和使用者互動功能控制模型, 以及強穩的基礎架構, 以便從遠端服務存取資料並將它與資料物件和使用者介面控制項繫結。
Flex 元件庫包含超過 100 種元件和容器, 從諸如按鈕和色彩選擇器等簡單的程式, 到資料表格、Rich Text 編輯器等高階控制項。 開發人員可使用這些內建元件建立應用程式的使用者介面, 將它們分為子類別以修改它們的行為, 或使用元件 API 建立全新元件。和其他現代使用者介面開發環境一樣, Flex 讓使用者介面運用預先定義的互動功能, 例如在資料表格上拖曳欄位, 或放入一些已定義的事件中, 來定義應用程式特定的行為。
開發人員使用 MXML 配置 Flex 元件版面;MXML是一種 XML 語言, 讓您以宣告方式來控制應用程式的外觀。 使用 MXML, 開發人員可為元件定位, 指定條件限制, 以建立更流暢的使用者介面, 並使用「檢視狀態」和「轉場」來控制應用程式回應不同使用者動作和應用程式事件的方式。 若要自訂應用程式的外觀和感覺, 開發人員可透過階層式樣式表 (CSS) 設定內建樣式屬性, 或使用內建的 9 格切割支援附加自訂視覺化資料。
Flex 應用程式可透過內建服務元件集存取資料和服務。開發人員可透過 HTTP 和 web services 存取 XML 資料, 並運用 Flex Data Services 提供的其他服務, 包括連接至遠端 Java 物件、發佈/訂閱傳訊, 以及新的 Flex Data Services。 為協助使用資料, Flex 提供多樣化資料繫結基礎架構, 當資料傳回時可自動更新使用者介面, 讓應用程式即使在等待伺服器傳回結果時, 仍能繼續回應。
如需更深入瞭解 Flex Framework 2 的增強功能, 請參閱 Flex Framework 簡介。
Adobe 為 Flex 提供了彈性的圖表延伸功能。開發人員可以很容易將這些資料視覺化元件加入到任何應用程式。由於 Charting 元件是動態在用戶端上轉換的, 因此很容易加入向下切入、提示及其他互動效果, 讓圖表的資訊比以往更為豐富。Charting 元件有完全公開的 API, 可以輕鬆自訂或自行建立元件。
這套圖表工具是完全整合在 Framework 的通用效果、樣式、資料連結及拖放基礎架構, 並能與 Flex Data Services 緊密配合 (請參閱下面說明)。
Flex Builder 2 是全新打造的工具, 為開發人員提供了建置 Rich Internet Application 的高生產力環境。 這套工具提供了先進的程式碼編寫與除錯環境, 有著直覺式的版面、樣式與互動設計工具, 有助於編寫出良好、容易維護的程式碼。Flex Builder 建構在 Eclipse 平台的基礎之上, 提供一套既熟悉又能全面延伸的功能。
開發人員使用 Flex Builder 2 時, 會發現其中的工具能大幅加快編寫程式碼的速度。「內容輔助 (Content Assist)」功能提供 MXML 和 ActionScript 的程式碼提示。編碼導覽功能則可幫助您很快找到某個方法或類別的定義。您可以選擇每次儲存檔案時即逐步編譯應用程式, 以加快編輯 - 執行 - 除錯循環。內建錯誤報告可讓您輕鬆尋找和修正錯誤。內容相關的說明系統可讓您輕鬆找到說明文件。先進的除錯環境可以有效除錯 Flash 應用程式, 讓 Eclipse 使用者在單一的 IDE 下即能除錯用戶端和伺服器程式碼。最後, 由於整合了來源控制系統 (如 CVS) 和建置工具 (如 Ant), 讓團隊開發更容易。
開發人員將發現版面配置控制有彈性的視覺支援, 包括絕對位置、相對位置或預先定義版面規則 (例如垂直、並排等)。"View States" 的視覺設計支援是一項創新的功能, 無須編寫太多程式碼, 便可利用視覺方式定義控制項的外觀, 或當發生某事件時, 整個應用程式要如何回應。CSS 編輯器可加速建立新的樣式表或與現有樣式表整合, 而編輯的樣式和外觀能如程式碼一般顯示在設計檢視中, 更縮短了更新和測試的週期。此外, 手動編輯的程式碼與設計檢視產生的程式碼能夠緊密整合, 使開發人員得以團隊合作, 而無須擔心程式碼衝突。
開發人員使用 Flex Builder 2 可匯入使用 Flash Professional 8 製作的多媒體和視訊。我們的目標是提供互動設計人員、數位攝影人員、多媒體專業人員及應用程式開發人員團隊舉世最佳的工具。 以使用 Flash Professional 來建立最精確、最強大以及最具表達性的互動內容與媒體。然後再使用 Flex Builder 來產生如臨現場般的應用程式體驗。我們將不斷加強這些工具之間的工作流程, 讓團隊合作更輕鬆、更有效率。
Flex Builder 2 將以獨立產品的形式問世, 會有標準的工具計價方式。若需更多詳細資訊, 請參閱 Flex Builder 2 簡介.
過去, Flex 1.0 提供了一套執行時期服務, 用以協助傳送資料以及與現有伺服器基礎架構整合。Flex Data Services 2 則更向前邁進了一大步, 提供一套以訊息為基礎的服務和支援功能, 可通透地同步化各層的資料, 將企業架構與資訊展示連結在一起。 這可減少編寫、除錯和維護在用戶端、應用程式及資料庫層之間傳送資料所需的程式碼, 也無須擔心程式碼容易出錯, 可大幅提升開發人員的生產力。
Flex Data Services 也提供一套強大的傳訊基礎架構, 可在用戶端與伺服器之間傳送資料, 能讓開發人員輕鬆建立應用程式來有效運用即時資訊、偶爾可用的服務以及非常大的資料集。 Data Services 功能可進一步發揮 Framework 的作用, 讓開發人員在幾無額外負擔的情況下就能實現效益。 例如, 用戶端傳訊架構提供精簡的事件、資料佇列及同步模型, 讓企業組織能輕鬆建立不時連線的應用程式。
除了 Flex Data Services 外, 還增強高效率的資料傳送二進位協定 (AMF), 並持續支援與 web services 及 Java 物件進行 RPC 樣式的互動。 若需更多詳細資訊, 請參閱 Flex Data Services 概觀。
Flash 一向對於提升使用者體驗不遺餘力, 這都要歸功於這套技術的強大功能以及創造力驚人的社群, 在背後推動著傳統設計實務不斷精益求精。而在使用者體驗設計方面的進展, 通常能立即 Flex 開發人員所運用。例如, 最近使用 Flash Player 來處理線上音訊及視訊的使用者便激增。
Flash Player 是目前市場上部署最廣泛的音訊及視訊播放器。這套播放器能將視覺元素完美整合到周邊內容或應用程式, 例如在 RIA 中觸發視訊提示點事件。此外, 也支援漸進式下載簡短的視訊檔, 並與 Flash Media Server 2.0 整合, 能串流播放互動性更高或品質更佳的長篇視訊。
目前社群已運用這些功能來建立 Rich Internet Application, 打破了現今應用程式與豐富式媒體 (Rich Media) 之間的重重藩籬。 Flex 開發人員可真正將視訊整合到應用程式的使用者介面和工作流程, 而不是設定應用程式來另外啟動媒體播放器, 形成視聽中斷的感覺。 例如, 教育訓練視訊可以導覽和強調應用程式中的特定使用者介面元素, 而應用程式可以根據使用者的動作, 提示播放視訊的特定部份。Flash 視訊與音訊串流可整合到 Flex 2 應用程式, 方式是使用 Flash Media Server 2 或 Flash Video Streaming Service, 這種代管服務可部署大規模的 Flash 視訊, 是由各大 CDN (內容放送網路) 合作夥伴與 Adobe 共同開發而成。
現在 Adobe 和 Macromedia 的合併已經完成, 您可以預期看到 Flex 產品系列將有更多有趣的創新。在展望未來之際, 我們目前正對一些領域進行研究, 包括支援即時協作、改善的設計人員 - 開發人員工作流程, 並進一步支援離線應用程式和文件。您可在未來數月內, 在 Adobe Labs 上找到更多我們未來的發展方向。
您現在應已對 Flex 2 產品系列有概括的瞭解, 包括 Flash Player 9、Flex Framework、Flex Builder 及 Flex Data Services。 我們推出 Flex 2 產品系列的目的, 便是要提供開發人員社群一套優質的平台, 能為客戶帶來最佳的應用程式體驗。
我們已發佈 Flex 2 搶鮮版, 讓大部份的開發人員社群都有機會搶先瞭解我們的發展方向並提供意見回應。 本人謹代表 Flex 產品團隊, 建議您造訪 Adobe Labs、下載我們的 beta 版, 並共襄盛舉。 如果您是 ColdFusion 開發人員, 請記得另外下載 ColdFusion/Flex Connectivity beta 3 更新程式。 您可訂閱 RSS 餵送, 以隨時取得最新資訊, 並且和其他開發人員在 Adobe Labs 論壇 上討論您的想法和問題。
為協助您在一開始就能上手使用 beta 版, 我們會提供一系列的範例應用程式、教學課程以及其他資源, 讓您在實際操作前能先逐步熟悉。
當您瞭解 Flex 2 的功能之後, 請告訴我們您的意見。 我們期待與您合作建立一套產品, 讓您改變網際網路應用程式的面貌。