Flex初学指导:
*Flex 的基础架构
关于 flex 基本上常被问到的不外乎就是「如何可以学好它?」,要了解这个问题的答案基本上只要看懂下面这图就ok了。
*Actionscript 该学的重点
从最底层看起,最下面的 actionscript 3是一切的基础,它是 flash/flex 编程使用的唯一程序语言,因此任何人想学好 flex 第一件事绝对是先摸熟 actionscript 这个语言,包含:
1. 它的基本语法与结构(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)就是我个人认为所有初学者最优先该学会的。
*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,负责做各种不同的工作(废话…),几个比较重要的包含:
-SystemManager:
它是每支 flex app 的根源,最先被下载,也最早启动,由它进行一连串的 app boot流程
-StyleManager:
它负责整支app 的 css style 套用与 skin 生成,如果想玩动态 css 载换也靠它
-DragManager:
Flex最大的卖点就是 drag and drop,这个 manager 就是背后的英雄,初学者至少要学会怎么处理 drag 行为的五个事件,以及如何在不同组件间做拖放;进阶的玩家则应该深入研究这支 manager 是怎么写成的,详细阅读它的 source 会得到意想不到的无穷乐趣(如果你读完却没有这种感觉,呃,那代表你该再多读几次,如果还是没有,那请私下联络我 )
-ModuleManager:
使用 Flex 开发大型应用程序时,往往会将程序切割成许多小的 module, 这个 manager 就是负责加载并管理所有的 module (包含它的 class partition),初心者或许用不到,但有志深入的玩家一定要很熟。
-CursorManager:
这个用到的时机不是很多,但偶尔要换一下 cursor 时还是会用到,初学者至少要知道怎么用指定的图案去换掉系统cursor。
*Style/Skin 的重点
CSS style 与 skinning 是 Flex 最大的卖点之一,也是开发过程中较为麻烦也最耗时的部份。
初学者应该要彻底了解如何使用 CSS style 来打点一支 flex app 的外观,换颜色、素材,使用外部 assets 修饰接口。
中阶玩家则应该了解 skinning 的系统,包含 programmatic skinning 与 graphical skin,它们两的差别?使用时机?如何客制化?
更高阶的玩家则应该熟悉整个 Styling system 的运作模式,外加如何动态加载 css 在 runtime 换掉整个界面。
简而言之,flex app 写的好不好,外行人其实看不太出来,但一支 app UI 美不美则是一翻两瞪眼,比较漂亮的那就先加十分
(当然,有一种情况是刻意用心去美化了接口结果弄巧成拙搞的怨声载道人人喊打,但那种比较不多见,也不是每家公司都会搞到这步田地,就先不讨论)
*学完基本功后下一步
在我的标准里,当一个 developer 对上图内每一块都有中等程度的了解后,就算是完成 flex 养成教育,可以迈向下一个阶段。
也就是开始熟悉 application 的制作手法,这包含
-了解至少一种以上的开发框架,例如 Cairngorm,老实说我对这个框架没什么好感(因为手法太复杂,只适合超复杂登月计划或火星探勘时使用),但它结构设计良好,又是业界公认的圣杯,等于是专家们共通的语言,因此至少要先了解它在做什么,将来在专业场合才好沟通(俗话说 know the rules so you know what you are breaking, 就是指这情况)
-接着可以看看比较简单的手法,像 Riawave, Model-Glue:Flex, PureMVC…等,基本上这些框架设计方式都大同小异,每个都有不同的应用场合,可以挑一个喜欢的再自行修改。
-了解基本的概念,例如 Value Object, DAO, MVC 等,它们在大部份的程序框架里都会出现,早点学会日子比较轻松。
接着就是开始实际 coding,写一个中小型规模的app,不论是单纯的 CRUD app,或是留言版、电话簿、进销存管理都可以,籍由多写来强化编程的概念,然后透过大量的 peer code review 来找出可改进的地方。
*结论
结论还是老话一句:要入门 flex 超级简单,只要不是白痴应该一小时就行,但要成为可独当一面的专业开发者,路就很长,如果没有走对方向很容易就迷失甚至最后放弃。
换句话说,要能成为职场上真正需要的 professional developer,并不如表面上想象的容易(其实我想每种技术领域跟产业都一样吧)。
分享到:
相关推荐
本指南旨在为初学者提供深入浅出的专业指导,帮助快速掌握Flex的基础知识和核心概念,从而在开发富客户端应用的道路上迈出坚实的第一步。 1. **Flex基础** Flex是一种开发工具,它允许开发者创建具有丰富用户界面...
这个文档可能专注于客户端与服务器之间的性能优化,讨论了如何在Flex应用中实现高效的数据通信、减少延迟、提高响应速度等,对优化Flex应用性能有重要指导价值。 5. **devappsflex.pdf**: 可能是关于开发Flex...
【Flex环境搭建技术指导】 Flex,全称Adobe Flex,是一种基于标准编程模型的富互联网应用程序(RIA)开发框架。它最初由Macromedia公司在2004...对Flex初学者来说,了解这些基础知识和整合技术是非常重要的学习步骤。
Flex全书籍涵盖了Adobe Flex这一开发框架的广泛知识,它是一个用于构建富互联网应用程序(RIA)的开源SDK。...无论是初学者还是有经验的开发者,这些书籍都提供了深入浅出的指导,帮助你充分利用Flex的优势。
总之,"flex教程_chm"是一个集Flex 4.0 API、基础理论、实践指导和实例演示为一体的综合教程,无论你是Flex的新手还是有经验的开发者,都能从中获取宝贵的知识和技能,进一步提升你的Flex开发能力。
总的来说,这份Flex3学习指南提供了全面的学习路径,无论是对Flex的初步探索还是深入实践,都能提供宝贵的指导。通过系统地学习和实践,初学者可以迅速成长为熟练的Flex开发者,创造出富有创新性和用户体验优秀的RIA...
本文将深入解析“Flex开发的一些好指导”这一主题,探讨Flex开发中的核心概念、模型视图控制器(MVC)架构的应用、Flex的组件与数据服务,以及FlexBuilder的使用技巧,旨在为初学者和有经验的开发者提供实用的指导。...
本Flex中文帮助文档旨在为初学者提供全面且深入的指导,帮助他们掌握Flex的基本概念、核心组件以及实际开发中的运用。 1. **Flex基础**:Flex是一个强大的开发环境,它提供了丰富的UI组件库和数据绑定机制,让...
总结来说,这个“flex入门打包教程”旨在引导初学者快速进入Flex开发的世界,从环境搭建开始,逐步掌握Flex与Java的整合、基本编程概念以及实际应用案例。通过这些教程,你可以建立起对Flex开发的全面认识,并有能力...
这份教程可能是针对初学者的Flex 3入门指导,涵盖基本概念、环境搭建、MXML语法、ActionScript编程以及组件使用等内容。通过学习,你可以了解如何创建简单的Flex项目,如何布局控件,以及如何处理用户交互。 **4. ...
总的来说,“Flex Air中文官方帮助文档”是开发者掌握Flex Air技术的宝典,从入门到精通,涵盖了所有必要的知识点,无论你是初学者还是有经验的开发者,都能从中受益匪浅。这份文档详尽地解答了在Flex Air开发过程中...
总而言之,这个"flex官方经典实例"压缩包为初学者提供了一个宝贵的资源,通过readMe.txt获取实例背景和指导,通过CairngormStore实践MVC设计模式和数据管理,从而加速Flex的学习进程。深入探索和实践这些实例,有助...
同时,作者的个人见解使得这些理论知识更具实践指导意义,对于初学者和有一定经验的开发者来说,都是极好的学习参考资料。通过阅读和学习这份文档,开发者可以系统地了解Flex 2和AS3的开发流程,提升在RIA领域的专业...
Flex4是一种基于ActionScript 3.0的开源框架,用于构建富互联网...无论是初学者还是有经验的开发者,这份资料都能提供宝贵的参考和实践指导。让我们一起探索Flex4的世界,创建出功能丰富、用户体验优秀的RIA应用吧!
1. 一个Flex初学者程序的源代码,展示了如何使用Flex构建互动效果。 2. 一个名为"second"的SWF文件,这是编译后的Flex程序,可以被浏览器中的Flash Player运行。 3. 博客文章链接提供上下文和指导,解释了如何创建这...
同时,`lex与yacc.pdf`可能是lex和yacc的原始文档或教程,对于初学者而言,这是学习的基础资料。 `Flex and Bison.pdf`很可能是Flex&Bison的官方文档,它详细阐述了这两个工具的使用方法、配置选项以及如何调试生成...
最后,为了帮助读者更好地掌握所学知识,教程很可能包含一系列实践项目,指导读者从无到有地构建一个完整的Flex AIR应用。通过这些项目,读者可以将理论知识应用于实际,提升开发技能。 总之,"Flex Air开发中文...