Flex,Flash,AS3,AIR的關係和區別
本文詳細介紹了 Flash、Flex、AS3、AIR 的關係和區別。希望對初學者有幫助。
AS3
ActionScript 通常簡稱為AS,它是Flash 平臺的語言。AS編寫的程式,最終可以編譯成SWF、SWC。SWF 就是我們常說的Flash 動畫。但是現在SWF 已經不僅僅是動畫,而是RIA 的載體。ActionScript 有3個版本,分別是1.0版(AS1),2.0版(AS2)和3.0版(AS3)。只有Flash Player 9及以上播放器才支援AS3編譯的SWF。這三個版本的差別非常大,現在最流行的版本是AS3。
Flash
Flash 是用來生成 swf 檔案的創作工具,做動畫比較方便,可以在Fla檔案內部寫AS3程式碼,也可以在Fla外部寫AS3程式碼。
Flash 內建 AS3 編譯器,所以用Flash也可編譯AS3程式碼生成swf檔案。
Flash Player
swf 動畫需要在網頁上顯示出來,就需要安裝Flash Player。Flash Player 9是能支援AS3 的最低版本(其實前面還有一個Flash Player 8.5,只是沒普及就升級到9了),後面的Flash Player 都能支援AS3了。
AIR
Flash Player 再強大,也是執行在瀏覽器中,受瀏覽器約束。為了擺脫瀏覽器,Adobe又出奇招,釋出了AIR。AIR其實就是一個Runtime,你可以把它理解成JVM。有了AIR,就可以用AS3開發桌面軟體,而且開發出的軟體可跨平臺執行(這和JAVA的一次編譯,隨處執行如出一轍)。目前國內的AIR應用主要集中在網站的客戶端方面,例如新浪微博AIR客戶端等。
Flex
Flex 是一個高效、免費的開源框架,可用於構建具有表現力的 Web 應用程式,這些應用程式利用 Adobe Flash Player和 Adobe AIR, 執行時跨瀏覽器、桌面和作業系統實現一致的部署。雖然只能使用 Flex 框架構建 Flex 應用程式,但Adobe Flash Builder(之前稱為 Adobe Flex Builder)軟體可以通過智慧編碼、互動式遍歷除錯以及可視設計使用者介面佈局等功能加快開發。
Flash主要針對設計人員,而 Flex 針對的是程式設計人員,Flash完全可以實現 Flex 的功能。Flex的優勢是在於有自己的框架,裡面已經有很多功能強大的元件了,Flex裡可以使用Flash的類,反之則不行的,一般 Flash 適合做動畫和一些不規則的元件,Flex則更適合做一些規則的企業級應用等,當然也可以嵌入Flash做一些社群、遊戲應用。
FlexSDK
FlexSDK是用來編譯 Flex 程式的平臺軟體,Flex SDK 相當於一個庫,安裝之後,你可以在記事本里編寫程式碼,在Dos下命令列方式來編譯你的程式。
FlexBuilder
Flash可以認為是創作環境,而FlexBuilder則是開發環境(IDE),我們常說的Flex事實指的是FlexBuilder開發環境,它針對程式設計師,因為它有現成的UI元件,這些UI元件都是基於AS3封裝的,我們使用FlexBuilder可以快速高效的創作出自己的RIA程式。Flex builder 本身包含了Flex SDK。
FlashBuilder
FlashBuilder 是 FlexBuilder 的升級版本,在 FlexBuilder 升級到版本 4 時改名叫 FlashBuilder。在 FlashBuilder 中有更多、更好看、功能更完善的元件,非常適合開發之用。
相關文件:Flash開發環境簡介
相關文章
- NAND Flash和NOR Flash的區別NaN
- Cookie 和 Session 關係和區別CookieSession
- WebGL和OpenGL的區別及關係Web
- http中session和cookie的區別和關係HTTPSessionCookie
- 關係型資料庫和非關係型資料庫的區別資料庫
- 彈性盒模型中flex-grow 和flex的區別模型Flex
- pycharm和python區別(關係)是什麼PyCharmPython
- display:inline-flex 和 display:flex有什麼區別inlineFlex
- Java程式和執行緒關係及區別Java執行緒
- IP、域名和DNS的關係與區別是什麼?DNS
- 一文搞懂exports和module.exports的關係和區別Export
- Excutors 與 ThreadPoolExcutor 的關係與區別thread
- Docker與containerd的關係與區別DockerAI
- 為嘛沒有as3 /flash技術咧。。S3
- display:flex與inline-flex 區別Flexinline
- 雲端計算和大資料的區別與關係大資料
- 單體巨石、微服務和SOA關係與區別微服務
- 宏旺半導體科普SPI NAND Flash和SPI NOR Flash的區別NaN
- 【Linux小知識】網址、域名和ip的關係與區別!Linux
- linux和ubuntu區別是什麼?有什麼關係?LinuxUbuntu
- 非關係型資料庫(NOSQL)和關係型資料庫(SQL)區別詳解資料庫SQL
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- 理解cookie、session、localStorage、sessionStorage的關係與區別CookieSession
- Java中類與物件的關係與區別Java物件
- 【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別Oracle
- 區塊鏈和大資料的關係區塊鏈大資料
- iPad Air 3和iPad mini 5區別對比:iPad Air 3 和iPad Mini 5哪個值得買?iPadAI
- Centos和Redhat有什麼關係?Centos和Redhat的區別與聯絡介紹CentOSRedhat
- flex-basis與width區別Flex
- display:flex與display:box 區別Flex
- 管理 Python 環境和依賴關係的工具 venv、virtualenv、pipenv 、poetry 、 miniforge 和 anaconda 的區別Python
- 淺談k8s中cni0和docker0的關係和區別K8SDocker
- 優思學院|精益(Lean)和敏捷(Agile)有什麼關係和區別?敏捷
- 什麼是子域名?主域名和子域名之間有哪些關係和區別?
- 域名管理常見問題:IP、域名和DNS之間的區別和關係(中科三方)DNS
- MySQL中redo log、undo log、binlog關係以及區別MySql
- 關於gcc、make和CMake的區別GC
- HyperLedger Fabric和區塊鏈是什麼關係?區塊鏈
- jre 和 jdk的關係JDK