如何学习Flex Framework

 如何学习Flex Framework
最近由於�N�N�故又要�_始做�c教育��的事,先趁�F在有空把手�的�Y料整理一下。

*Flex 的基�A架��

�P於 flex 基本上常被��到的不外乎就是「如何可以�W好它?」,要�t解�@�����}的答案基本上只要看懂下面�@�D就ok了。



*Actionscript ��W的重�c

�淖畹�涌雌穑�最下面的 actionscript 3是一切的基�A,它是 flash/flex �程使用的唯一程式�Z言,因此任何人想�W好 flex 第一件事�^�κ窍让�熟 actionscript �@���Z言,包含:

1. 它的基本�Z法�c�Y��(array, hash, loop, if else…)

2. DisplayList (DisplayObject, DisplayObjectContainer)�c Event system(bubbling, propagating…)

3. Sound, Video, NetConnection �c Graphics class

掌握 as3 的精�A後,接下�砭涂梢赃M入 flex framework。

*Flex framework 的重�c

基本上 flex framework 就是用 actionscript ��成的框架,因此也可以把它看成是 as3的最好示�,看著 framework source �W actionscript 也是挺不�e的,只是路���很�L。

Flex Framework 整���w系非常博大精深,通常一般人不太可能完整把它�W完,只需要��ψ畛S玫降牟糠菔煜ぞ秃茫��D中列出的那三�K(component, managers, style/skin)就是我��人�J�樗�有初�W者最��先��W��的。

*Component ��W些什�N

Component 是整�� flex framework 的基�A,�缀�80% 的元素都是由 UIComponent �^承而�恚�例如最根本的的 它本身就是一�� UIComponent,因此,熟悉 component 就成��W好 flex framework 最根本也最重要的基本功

Flex �冉�了 二十��� UI controls, 例如 Button, DataGrid, HBox等,以�N��矸郑��@些 components 可以概分�槿�大�:

-Controls: Button, DateChooser, Slider…
-Containers: Box, DividedBox, Panel…
-List: DataGrid, Tree, TileList…

初�W者第一步至少��W��怎�N用�@些元件,�t解每��元件的 properties, events, styles, effects…,知道怎�N在手�匝Y查它的 API 文件,以及何�r�用何�N元件。

�M�A一�c,�t是�W��怎�N修改�@些元件,例如�^承一�� Button 下�砑由喜煌�的功能,或是��不同的 skin border �砀淖�它的外�^。

再更�M�A,�t是�_始研究元件的生命�L期,�t解每��元件是何�r初始化,元件�炔坑心切╆P�I指令�c它�����e的功用,然後可以�著建立自已的 custom component。

�@一�P看起�砣菀椎����H上最困�y,因�� flex 的 component framework ��的非常��大,�m然�y中有序但要在混沌中看出�[藏的架��然後抓住重�c整串提起,就非得有人�е�指引正�_的途�讲疟容^可能�_成。

*manager 是什�N

�D中最上方的第二�K就是 manager。

flex �Y有很多的 managers,��做各�N不同的工作(�U�…),���比�^重要的包含:

-SystemManager:
它是每支 flex app 的根源,最先被下�d,也最早��樱�由它�M行一�B串的 app boot流程

-StyleManager:
它��整支app 的 css style 套用�c skin 生成,如果想玩��B css �d�Q也靠它

-DragManager:
Flex最大的�u�c就是 drag and drop,�@�� manager 就是背後的英雄,初�W者至少要�W��怎�N�理 drag 行�榈奈��事件,以及如何在不同元件�g做拖放;�M�A的玩家�t���深入研究�@支 manager 是怎�N��成的,����x它的 source ��得到意想不到的�o�F�啡�(如果你�x完�s�]有�@�N感�X,呃,那代表你�再多�x�状危�如果�是�]有,那�私下��j我 :D)

-ModuleManager:
使用 Flex �_�l大型��用程式�r,往往���⒊淌角懈畛稍S多小的 module, �@�� manager 就是���d入�K管理所有的 module (包含它的 class partition),初心者或�S用不到,但有志深入的玩家一定要很熟。

-CursorManager:
�@��用到的�r�C不是很多,但偶��要�Q一下 cursor �r�是��用到,初�W者至少要知道怎�N用指定的�D案去�Q掉系�ycursor。

*Style/Skin 的重�c

CSS style �c skinning 是 Flex 最大的�u�c之一,也是�_�l�^程中�^�槁�┮沧詈�r的部份。

初�W者���要�氐撞t解如何使用 CSS style �泶螯c一支 flex app 的外�^,�Q�色、素材,使用外部 assets 修�介面。

中�A玩家�t����t解 skinning 的系�y,包含 programmatic skinning �c graphical skin,它���傻牟�e?使用�r�C?如何客�u化?

更高�A的玩家�t���熟悉整�� Styling system 的�\作模式,外加如何��B�d入 css 在 runtime �Q掉整��介面。

�而言之,flex app ��的好不好,外行人其��看不太出�恚�但一支 app UI 美不美�t是一翻�傻裳郏�比�^漂亮的那就先加十分

(��然,有一�N情�r是刻意用心去美化了介面�Y果弄巧成拙搞的怨��d道人人喊打,但那�N比�^不多�,也不是每家公司都��搞到�@步田地,就先不��)

*�W完基本功後下一步

在我的��恃Y,��一�� developer �ι�D�让恳�K都有中等程度的�t解後,就算是完成 flex �B成教育,可以�~向下一���A段。

也就是�_始熟悉 application 的�u作手法,�@包含

-�t解至少一�N以上的�_�l框架,例如 Cairngorm,老���f我���@��框架�]什�N好感(因�槭址ㄌ��}�s,只�m合超�}�s登月���或火星探勘�r使用),但它�Y���O�良好,又是�I界公�J的�}�,等於是�<��共通的�Z言,因此至少要先�t解它在做什�N,��碓��I�龊喜藕�贤�(俗��f know the rules so you know what you are breaking, 就是指�@情�r)

-接著可以看看比�^��蔚氖址ǎ�像 Riawave, Model-Glue:Flex, PureMVC…等,基本上�@些框架�O�方式都大同小��,每��都有不同的��用�龊希�可以挑一��喜�g的再自行修改。

-�t解基本的概念,例如 Value Object, DAO, MVC 等,它��在大部份的程式框架�Y都��出�F,早�c�W��日子比�^�p�。

接著就是�_始���H coding,��一��中小型�模的app,不�是�渭�的 CRUD app,或是留言版、��簿、�M�N存管理都可以,籍由多�����化�程的概念,然後透�^大量的 peer code review �碚页隹筛倪M的地方。

*�Y�

�Y��是老�一句:要入�T flex 超���危�只要不是白�V���一小�r就行,但要成�榭瑟���一面的��I�_�l者,路就很�L,如果�]有走�Ψ较蚝苋菀拙兔允�甚至最後放��。

�Q句��f,要能成�槁��錾险嬲�需要的 professional developer,�K不如表面上想像的容易(其��我想每�N技�g�I域跟�a�I都一�影�),�@也是我�^去半年��f助很多公司做 recruiting 後的感想。

你可能感兴趣的:(职场,framework,休闲,如何学习Flex)