如何學習flex.doc_第1頁
如何學習flex.doc_第2頁
如何學習flex.doc_第3頁
如何學習flex.doc_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

原來有人問我:怎樣學好Flash?我的回答一般就是:仔細看幫助、多做練習、多看優(yōu)秀的源碼、多上專業(yè)論壇參加討論??墒荈lex來了,于是又有人問:怎樣學好Flex?我不知如何回答,因為我也是Flex新手,也在“仔細看幫助、做練習、看源碼、上論壇”?,F(xiàn)在d.CAT的這篇優(yōu)秀的文章,詳細的回答了這個問題。下面的文章轉(zhuǎn)自d.CAT RIA Blog,由于原文是繁體中文的,所以轉(zhuǎn)載過來的時候我對文章的繁體字部分進行了替換,對一些詞語進行了修改以符合簡體中文語言習慣,對一些術(shù)語進行了注釋。最后,文中所有第一人稱處所指的都是原文作者而不是“我”,有麻煩可以找他 以下為轉(zhuǎn)載:=Flex 的基礎(chǔ)架構(gòu)關(guān)于 flex 基本上常被問到的不外乎就是“如何可以學好它?”,要了解這個問題的答案基本上只要看懂下面這個圖就OK了。Actionscript 該學的重點從最底層看起,最下面的 actionscript 3是一切的基礎(chǔ),它是 flash/flex 編程使用的唯一程式語言,因此任何人想學好 flex 第一件事絕對是先摸熟 actionscript 這個語言,包含:1. 它的基本語法與結(jié)構(gòu)(array, hash, loop, if else) 2. DisplayList (DisplayObject, DisplayObjectContainer)與 Event system(bubbling, propagating) 3. Sound, Video, NetConnection 與 Graphics class 掌握 as3 的精華后,接下來就可以進入 flex framework。Flex framework 的重點基本上 flex framework 就是用 actionscript 寫成的框架,因此也可以把它看成是 as3的最好示范,看著 framework source 學 actionscript 也是挺不錯的,只是路會變很長。Flex Framework 整個體系非常博大精深,通常一般人不太可能完整把它學完,只需要針對最常用到的部份熟悉就好,圖中列出的那三塊(component, managers, style/skin)就是我個人認為所有初學者最優(yōu)先該學會的。Component 該學些什么Component 是整個 flex framework 的基礎(chǔ),幾乎80% 的元素都是由 UIComponent 繼承而來,例如最根本的它本身就是一個 UIComponent,因此,熟悉 component 就成為學好 flex framework 最根本也最重要的基本功Flex 內(nèi)建了 二十幾個 UI controls, 例如 Button, DataGrid, HBox等,以種類來分,這些 components 可以概分為三大類: Controls: Button, DateChooser, Slider Containers: Box, DividedBox, Panel List: DataGrid, Tree, TileList 初學者第一步至少該學會怎么用這些元件,了解每個元件的 properties, events, styles, effects,知道怎么在手冊里查它的 API 文件,以及何時該用何種元件。進一步,則是學會怎么修改這些元件,例如繼承一個 Button 下來加上不同的功能,或是寫不同的 skin border 來改變它的外觀。再進一步,則是開始研究元件的生命周期,了解每個元件是何時初始化,元件內(nèi)部有那些關(guān)鍵指令與它們個別的功能,然后可以試著建立自已的 custom component。這一關(guān)看起來容易但實際上最困難,因為 flex 的 component framework 寫的非常龐大,雖然亂中有序但要在混沌中看出隱藏的架構(gòu)然后抓住重點整串提起,就非得有人帶著指引正確的途徑才比較可能完成。manager 是什么圖中最上方的第二塊就是 manager。flex 里有很多的 managers,負責做各種不同的工作(廢話),幾個比較重要的包含: SystemManager:它是每個 flex 程序的根源,最先被下載,也最早啟動,由它進行一連串的 app boot流程 StyleManager:它負責整支app 的 css style 套用與 skin 生成,如果想玩動態(tài) css 載換也靠它 DragManager:Flex最大的賣點就是 drag and drop(拖放),這個 manager 就是背后的英雄,初學者至少要學會怎么處理 drag 行為的五個事件,以及如何在不同元件間做拖放;進階的玩家則應(yīng)該深入研究這支 manager 是怎么寫成的,詳細閱讀它的 source 會得到意想不到的無窮樂趣(如果你讀完卻沒有這種感覺,呃,那代表你該再多讀幾次,如果還是沒有,那請私下聯(lián)絡(luò)我 ) ModuleManager:使用 Flex 開發(fā)大型應(yīng)用程式時,往往會將程式切割成許多小的 module, 這個 manager 就是負責載入并管理所有的 module (包含它的 class partition),初心者或許用不到,但有志深入的玩家一定要很熟。 CursorManager:這個用到的時機不是很多,但偶爾要換一下 cursor 時還是會用到,初學者至少要知道怎么用指定的圖案去換掉系統(tǒng)cursor。 Style/Skin 的重點CSS style 與 skinning 是 Flex 最大的賣點之一,也是開發(fā)過程中較為麻煩也最耗時的部份。初學者應(yīng)該要徹底了解如何使用 CSS style 來打點一支 flex app 的外觀,換顏色、素材,使用外部 assets 修飾介面。中階玩家則應(yīng)該了解 skinning 的系統(tǒng),包含 programmatic skinning 與 graphical skin,它們倆的差別?使用時機?如何客制化(zrong注1)?更高階的玩家則應(yīng)該熟悉整個 Styling system 的運作模式,外加如何動態(tài)載入 css 在 runtime 換掉整個介面。簡而言之,flex app 寫的好不好,外行人其實看不太出來,但一支 app UI 美不美則是一翻兩瞪眼,比較漂亮的那就先加十分(當然,有一種情況是刻意用心去美化了介面結(jié)果弄巧成拙搞的怨聲載道人人喊打,但那種比較不多見,也不是每家公司都會搞到這步田地,就先不討論)學完基本功后下一步在我的標準里,當一個 developer 對上圖內(nèi)每一塊都有中等程度的了解后,就算是完成 flex 養(yǎng)成教育,可以邁向下一個階段。也就是開始熟悉 application 的制作手法,這包含 了解至少一種以上的開發(fā)框架,例如 Cairngorm,老實說我對這個框架沒什么好感(因為手法太復雜,只適合超復雜登月計畫或火星探勘時使用),但它結(jié)構(gòu)設(shè)計良好,又是業(yè)界公認的圣杯,等于是專家們共通的語言,因此至少要先了解它在做什么,將來在專業(yè)場合才好溝通(俗話說 know the rules so you know what you are breaking, 就是指這情況) 接著可以看看比較簡單的手法,像 Riawave, Model-Glue:Flex, PureMVC等,基本上這些框架設(shè)計方式都大同小異,每個都有不同的應(yīng)用場合,可以挑一個喜歡的再自行修改。 了解基本的概念,例如 Value Object, DAO, MVC 等,它們在大部份的程式框架里都會出現(xiàn),早點學會日子比較輕松。 接著就是開始實際 coding,寫一個中小型規(guī)模的app,不論是單純的 CRUD (zrong注2)程序,或是留言版、電話簿、進銷存管理都可以,籍由多寫來強化編程的概念,然后透過大量的 peer code review 來找出可改進的地方。 結(jié)論結(jié)論還是老話一句:要入門 flex 超級簡單,只要不是白癡應(yīng)該一小時就行,但要成為可獨當一面的專業(yè)開發(fā)者,路就很長,如果沒有走對方向很容易就迷失甚至最后放棄。換句話說,要能成為職場上真正需要的 professional developer,并不如表面上想象的容易(其實我想每種技術(shù)領(lǐng)域跟產(chǎn)業(yè)都一樣吧

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論