⑴ flex簡介
Flex是一個高效、免費的開源框架,用於構建具有表現力的Web應用程序,這些應用程序在Adobe Flash Player和Adobe AIR的支持下,在跨瀏覽器、桌面和操作系統上實現一致的部署。Flex應用程序只能通過該框架創建,但Adobe Flash Builder(之前稱為Adobe Flex Builder)軟體可加速開發過程,通過智能編碼、互動式調試和可視設計UI布局等功能。
使用Flex創建的RIA(Rich Internet Application)可在使用Adobe Flash Player的瀏覽器中運行,也可在瀏覽器外通過跨操作系統運行時Adobe AIR運行。這些應用程序在超過98%連接到Internet的計算機中運行,這些計算機裝有Flash Player,這是一個企業級客戶端運行時,支持高級矢量圖形,處理數據密集型和要求最高的應用程序,同時保持桌面應用程序的執行速度。通過使用AIR,Flex應用程序可以訪問本地數據和系統資源。
Macromedia Flash是一個強大的矢量動畫編輯工具,在動畫製作後,一直在尋求RIA(Rich Internet Application)的霸主地位。影響最大的是引入了面向對象的編程腳本ActionScript3.0,並建立了一個類似於Java Swing的類庫和相應的組件。Flex通過Java或.NET等非Flash途徑解釋.mxml文件組織components,並生成相應的.swf文件。Flex的components與Flash的components相似,但有所改進和增強。Macromedia公司已被Adobe公司收購,當前(2011年11月)的Flex版本為4.6。Adobe在2013年1月15日將Flex捐贈給Apache,並發布了Apache Flex 4.8。
為什麼還需要Flex,而不是直接使用Flash?這里有兩個主要的原因:
1. 為了吸引更多的developers(開發者)。Flash的設計是為了滿足designer(設計者)的需求,界面和動畫概念與程序開發人員的思維方式不匹配。為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex,使用與(x/d)HTML非常相似的.mxml來描述界面,更易於非Flash開發者理解和使用。
2. 為了建立一個標准。微軟在推出操作系統的vista(後續的win7也是同一核心)時,也推出了新的語言xaml,一種界面描述語言,與之相應的就是Smart Client,與Flex非常相似。Mxml和Xaml在某種程度上相似,這體現了人機交互技術進步的重要體現,即內部邏輯與外部界面的分離。
Flex與J2EE/.NET並沒有直接關系,Macromedia使用Java將Flash技術融合到J2EE中,同時使用.NET技術將Flash技術融合到.NET中。Flex主要解決了J2EE和.NET中最為繁瑣的問題,即Web客戶端的問題。
flex通常是指Adobe Flex,是最初由Macromedia公司在2004年3月發布的,基於其專有的Macromedia Flash平台,它是涵蓋了支持RIA(Rich Internet Applications)的開發和部署的一系列技術組合。flex的另一個意思是一款生成掃描器的工具,能夠識別文本中的詞法模式。