關於 flex 基本上常被問到的不外乎就是「如何可以學好它?」,要了解這個問題的答案基本上只要看懂下面這個圖就ok了
*actionscript 該學的重點
從最底層看起,最下面的 actionscript 3是一切的基礎,它是 flash/flex 程式設計使用的唯一程式語言,因此任何人想學好 flex 第一件事絕對是先摸熟 actionscript 這個語言,包含:
它的基本語法與結構(array, hash, loop, if else…)
displaylist (displayobject, displayobjectcontainer)與 event system(bubbling, propagating…)
sound, video, netconnection 與 graphics class
掌握 as3 的精華後,接下來就可以進入 flex framework。
*flex framework 的重點
基本上 flex framework 就是用 actionscript 寫成的框架,因此也可以把它看成是 as3的最好示範,看著 framework source 學 actionscript 也是挺不錯的,只是路會變很長。
flex framework 整個體系非常博大精深,通常一般人不太可能完整把它學完,只需要針對最常用到的部份熟悉就好,圖中列出的那三塊(component, managers, style/skin)就是我個人認為所有初學者最優先該學會的。
*component 該學些什麼
component 是整個 flex framework 的基礎,幾乎80% 的元素都是由 uicomponent 繼承而來,例如最根本的它本身就是乙個 uicomponent,因此,熟悉 component 就成為學好 flex framework 最根本也最重要的基本功
flex 內建了 二十幾個 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 來改變它的外觀。
再進一步,則是開始研究元件的生命週期,了解每個元件是何時初始化,元件內部有那些關鍵指令與它們個別的功能,然後可以試著建立自已的 custom component。
這一關看起來容易但實際上最困難,因為 flex 的 component framework 寫的非常龐大,雖然亂中有序但要在混沌中看出隱藏的架構然後抓住重點整串提起,就非得有人帶著指引正確的途徑才比較可能完成。
*manager 是什麼
圖中最上方的第二塊就是 manager。
flex 裡有很多的 managers,負責做各種不同的工作(廢話…),幾個比較重要的包含:
modulemanager:
使用 flex 開發大型應用程式時,往往會將程式切割成許多小的 module, 這個 manager 就是負責載入並管理所有的 module (包含它的 class partition),初心者或許用不到,但有志深入的玩家一定要很熟。
cursormanager:
這個用到的時機不是很多,但偶爾要換一下 cursor 時還是會用到,初學者至少要知道怎麼用指定的圖案去換掉系統cursor。
*style/skin 的重點
css style 與 skinning 是 flex 最大的賣點之一,也是開發過程中較為麻煩也最耗時的部份。
中階玩家則應該了解 skinning 的系統,包含 programmatic skinning 與 graphical skin,它們倆的差別?使用時機?如何客製化(zrong注1)?
更高階的玩家則應該熟悉整個 styling system 的運作模式,外加如何動態載入 css 在 runtime 換掉整個介面。
(當然,有一種情況是刻意用心去美化了介面結果弄巧成拙搞的怨聲載道人人喊打,但那種比較不多見,也不是每家公司都會搞到這步田地,就先不討論)
*學完基本功後下一步
在我的標準裡,當乙個 developer 對上圖內每一塊都有中等程度的了解後,就算是完成 flex 養成教育,可以邁向下乙個階段。
結論還是老話一句:要入門 flex 超級簡單,只要不是白痴應該一小時就行,但要成為可獨當一面的專業開發者,路就很長,如果沒有走對方向很容易就迷失甚至最後放棄。
換句話說,要能成為職場上真正需要的 professional developer,並不如表面上想象的容易(其實我想每種技術領域跟產業都一樣吧),這也是我過去半年來協助很多公司做 recruiting 後的感想
flex學習 FLEX框架布局方式
在html布局是件頭疼的事情,通過 布局倒是簡單方便,但太死板,並且影響網頁開啟速度從而不利於seo!大多通過div css來布局,這並不是一件很容易的事情,除了要精通css和html以外,還要考慮各種瀏覽器相容!我們可以對比html的布局來學習flex布局。在flex4中有四個flex框架布局類 ...
Flex學習筆記 關於Flex裡的事件
事件是flex重要的部分,對於事件的學習也是flex學習中重要的環節 1,簡單的事件派發 這裡先新建乙個專案,再新建乙個component名字為eventimage,這個元件eventimage的mxml 如下 這裡我將事件的型別直接用 flash.vents.event.complete。再看主程...
Flex 學習筆記之一 Flex 簡介
flex 是乙個高效 免費的開源框架,可用於構建具有表現力的 web 應用程式,這些應用程式利用 adobe flash player和 adobe air,執行時跨瀏覽器 桌面和作業系統實現一致的部署。flex簡介flex應用前景 首先這裡想說的是,flash並非只是乙個單純的向量動畫創作工具,而...