2010-01-02 55 views

回答

4

Flex不生成ActionScript。 Flex編譯ActionScript。無論如何,Flex是針對開發人員的Flash編程(他們不一定喜歡基於timline的矢量編輯器作爲主要的開發環境)。

而且,由於Flex是一個控制檯應用程序,您可以包括它的shell腳本等等等等功能

+0

你有任何控制檯應用程序的例子嗎?! – 2010-01-02 17:04:35

+0

在技術上,flex工具在解析MXML時創建actionscript代碼。 – jedierikb 2010-01-02 18:14:06

3

我想反問的最佳答案是:

爲什麼不使用原始機器代碼的所有項目?

更詳細地說,Flex框架確實是用純ActionScript編寫的。它提供的不僅僅是動作本身,而且像大多數框架一樣,解決了對編程語言不提供的更高級編程結構的需求。

1

Adob​​e Flex和的Adobe Flash的不同之處只有一兩件事:

據Adobe稱,:「的Adobe Flash是爲設計師,Adobe Flex的是開發商。Flex是發佈了開發者感覺不舒服時間表的東西誰。「

Adob​​e Flash是一個強大的工具;然而, 隨着越來越多的程序員開始參與 構建豐富的互聯網應用, 很快就明確表示,他們 不舒服使用繪圖工具, 時間表和其他視覺面板 創建表單和其他元素, 是共同的業務 申請。

Adob​​e Flex的創建是爲了解決這個程序員的 問題。如果你覺得舒服的時間表(我不是),則沒有任何區別可言http://www.adobe.com/devnet/flex/videotraining/xml/vid01.html

看到這部影片。您可以使用Adobe Flash。

+0

我所從事的每個Flex項目都包含了設計人員和開發人員。我對時間表感到滿意,我的大部分工作都是在Flash Builder中使用Flex完成的。 – 2010-01-02 17:51:05

+0

Flex和Flash之間的一個明顯區別是,您可以在Flex中獲得代碼完成。 BTW-如果您覺得我們中的任何一位回答了您的問題,請點擊帖子旁邊的複選標記(左側)標記爲「已回答」。 – jml 2010-01-02 22:45:27

+0

@jml,我認爲你不是在這裏比較Flex和Flash,而是Flex Builder和Flash Professional(CS3/CS4),即工具,而最初的問題似乎與平臺有關。當然,代碼完成與您使用的框架無關,但與IDE無關。 – richardolsson 2010-01-03 08:52:01

5

我同意Flex對開發者和Flash設計師所提出的觀點,但這並不能真正涵蓋發生的細節。

生成Flash應用程序(SWF)有三種主要方法: 1)使用Flash應用程序 - 時間軸方法,主要針對設計人員。

2)直接編寫純動作腳本並編譯(通過IDE(如FlashBuilder或命令行)),針對具有創造性flare的程序員或不介意弄髒手的設計師。

3)編寫'Flex' - 通常使用FlashBuilder等IDE,但是可以在命令行上編譯Flex應用程序。 Flex是MXML(一種XML標記)和ActionScript。如前所述,Flex針對的是軟件開發人員,通常是那些對「創意」方面不太關注的人(將這種責任委託給其他人,例如視覺設計師)。

儘管#2和#3有很大的區別。

對於想要進行高度交互式和圖形化Flash應用程序的程序員來說,ActionScript非常適合,例如一些交互式演示或遊戲。要通過ActionScript創建Flash應用程序,您需要創建一個ActionScript文件,添加元數據以表明它是一個應用程序,編譯器將生成一個適當且通常非常小的SWF文件。在純粹的ActionScript級別有一些組件可用,但與Flex相比,這些組件非常輕量級,大部分工作都是通過操作Sprite對象完成的。

Flex做了很多。它爲開發人員提供了豐富的skinnable組件,用於構建應用程序,組件生命週期,效果和數據綁定等等。我認爲Flex更適用於某些業務領域的豐富應用程序,通常採用基於表單的應用程序的格式,儘管您可以使用它來做一些非常性感的事情,並可以引入其他地方創建的資源(例如現有的Flash資源)。

Flex應用程序有一個頂層「應用程序」對象是含有部件的層次的MXML文件。在編譯/編譯時,這個MXML文件被轉換爲ActionScript(其中有很多!有一個編譯器標誌,用於保存生成的ActionScript,請參閱文檔以獲取更多信息),最終將其編譯爲可以在Flash Player中運行的SWF。例如,您可以將標籤,文本輸入,按鈕等添加到面板並將面板添加到應用程序中。用戶與這些組件進行交互,然後Flash應用程序以某種方式處理輸入並更新視圖。數據綁定允許您將對象標記爲「可綁定」,然後讓Flex在綁定屬性更改時自動更新其他一些屬性。

Flex應用程序傾向於生成更大的SWF,但這是因爲它們攜帶了Flex SDK的「包裹」,儘管可以使用運行時共享庫​​來緩解這種情況(有點像用於Flash的DLL,但是是高級主題)或模塊,這些SWF只能在Flex應用程序內運行而不是獨立運行。但是,這個想法是,應用程序被加載到客戶端,並且無需像傳統的Web應用程序那樣執行頁面請求即可響應。如上所述,通過將應用程序切換到模塊或使用運行時共享庫​​,可以提高加載時間的感知。

說實話,我沒有用我的描述來做Flex正義,但希望我能讓這些差異更加清晰。

1

Flex框架允許開發人員比編寫純ActionScript更快速地編寫應用程序。 Flex是用MXML編寫的,這是一種'便利的語言',並且有許多用於編寫業務應用程序的預構建組件。

但是,如果你的目標是爲創意僅供參考,閃存將是作業的更好的工具。但是如果你問AS3和Flex之間的關係,我認爲你不會像Flash那樣在時間軸上補間事情。

如果您開始使用Flex,您會發現必須知道ActionScript才能爲您的應用程序提供未提供的功能。此外,瞭解ActionScript將對Flex和Flash世界都有好處(您也可以編寫純粹的AS3應用程序,但根據我的經驗,很少有人會這樣做)。