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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論