- 浏览: 101050 次
- 性别:
- 来自: 广州
文章分类
最新评论
如何学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 会得到意想不到的无穷乐趣(如果你读完却没有这种感觉,呃,那代表你该再多读几次,如果还是没有,那请私下联络我:D)
-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,并不如表面上想像的容易(其实我想每种技术领域跟产业都一样吧),这也是我过去半年来协助很多公司做recruiting 后的感想。
原地址:http://www.cnblogs.com/shinings/archive/2008/11/11/1331696.html
发表评论
-
【转】导出网页中的table到excel 使用Java方式
2011-08-04 12:02 1711response.setContentType(&qu ... -
【转】oracle 行转列
2011-05-12 14:50 954数据库查询中难免会遇到行列转换的情况,摘列一些较精典的 ... -
【转】select元素javascript常用操作
2011-05-03 16:15 691/*-------------------------- ... -
【转】使用Spring的NamedParameterJdbcTemplate完成DAO操作
2011-04-22 15:33 1130NamedParameterJdbcTemplate内 ... -
【转】使用Spring的SimpleJdbcTemplate完成DAO操作
2011-04-22 15:31 1016SimpleJdbcTemplate内部包含了一个Na ... -
【转】Servlet实现文件下载的源码
2011-04-18 11:37 626一、如何使用如果此Servlet命名为download ... -
【转】Oracle:Merge Into 语句代替Insert/Update在Oracle中的应用实战
2011-04-13 14:30 2081动机: 想在Oracle中 ... -
【转】直接把EXCEL粘贴到网页上
2011-04-06 08:33 1253<html> <meta http- ... -
【转】word 任意页开始插入页码
2011-03-31 15:45 1103一、如果你想从第二页开始插入页码的话: 1、将鼠标定位 ... -
【转】最简单的java模板引擎——JTPL
2011-03-27 15:31 2527sample1.jtpl < ... -
【转】JS特效代码大全(七)超全的JS树形菜单共享
2011-03-25 08:59 1273JS特效代码大全(七)超全的JS树形菜单共享 标 ... -
【转】JavaScript获取select的值全解
2011-03-24 15:53 850获取显示的汉字 document.getElemen ... -
【转】常用的JavaScript验证正则表达式
2011-03-07 13:22 776下面都是我收集的一些比较常用的正则表达式,因为平常可能在 ... -
【转】flex的问题解决
2011-02-27 03:05 1311出自:http://www.iteye.com/problem ... -
【转】软考、职称、职称资格及三者之间的关系
2010-08-02 09:19 1510目前,人事部 ... -
【转】javamail发送邮件的简单实例
2010-07-29 11:19 1173今天学习了一下JavaMail,javamail发送 ... -
【转】hibernate的Criteria Query
2010-07-29 10:03 1167当查询数据时,人们往往需要设置查询条件。在SQL或HQ ...
相关推荐
在tomcat中部署安装Flex Data Services (LiveCycle DS) [转]_baidu_百度空间 基于flex4技术从零开发flex博客系统 : 1 开发环境配置与hello world(1) - 豆豆网 flex+blazeDs与Ext+dwr比较_蓝色幻想_百度空间 基于...
标题中的“用Flex写的照片旋转”指的是使用Adobe Flex框架开发的一款功能,允许用户对照片进行旋转操作。Flex是一个开源的、基于ActionScript的框架,主要用于构建富互联网应用程序(RIA),它提供了一整套组件和...
Flex是一种用于创建富互联网应用程序(RIA)的框架,由Adobe公司开发。它主要基于ActionScript编程语言和MXML标记语言,允许开发者构建交互性强、视觉效果丰富的Web应用。本教程将带你逐步学习Flex,从开发环境的...
Flex是Adobe公司开发的一种用于创建富互联网应用程序(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript和MXML语言。本资料“Flex学习PPT_wildh”显然是一个针对初学者的教程,旨在帮助用户...
这本书“Flex 4一学就会”作为入门级别的教程,旨在帮助初学者快速理解和掌握Flex 4的基本概念和开发技巧。 1. **Flex SDK**:Flex SDK是开发Flex应用的核心工具集,包括编译器、框架库以及用于创建SWF文件的工具。...
在本文中,我们将深入探讨如何使用Flex实现立方体旋转和其他特效,如翻页和开门关门效果。Flex是一种基于ActionScript的框架,常用于构建富互联网应用程序(RIA),它提供了强大的布局管理和动画功能。 首先,我们...
标题中的“Flex 日语全角半角转换”指的是在Adobe Flex这一编程环境中处理日语文本时,涉及到全角字符(全宽度字符)和半角字符(半宽度字符)的转换问题。在日语中,全角字符通常用于正式文本,而半角字符则常见于...
Flex是Adobe公司开发的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。这个“Flex开门,关门,翻转,效果”是一个展示Flex在动态UI交互方面强大能力的例子。在这个项目中,开发者可能...
### FLEX教程知识点详解 #### 1. FLEX概述 - **FLEX介绍**:FLEX是一种用于构建跨平台富互联网应用程序(RIA)的技术。它使用了一种名为MXML的标记语言来创建用户界面,并利用ActionScript进行逻辑处理。FLEX能够...
在本文中,我们将深入探讨如何使用Flex技术和Java来创建一个动态的、可旋转的图形展示。Flex是一种基于ActionScript和MXML的开放源代码框架,主要用于构建富互联网应用程序(RIA)。它提供了强大的图形渲染能力,...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款用于构建富互联网应用程序(Rich Internet Applications,RIAs)的框架,主要基于ActionScript编程语言和Flash Player或Adobe AIR运行时环境。Flex4在Flex 3的基础...
Flex入门学习教程主要介绍了Adobe Flex,这是一种用于构建富互联网应用(RIA)的开发框架,它基于Flash Player。Flex不仅是一个工具,还包含了丰富的组件、样式、主题和编程语言,为开发者提供了强大的界面设计和...
Flex是Adobe开发的一种用于构建富互联网应用程序(RIA)的框架,主要使用ActionScript语言和MXML标记语言。本文档是针对Flex和Java初学者的学习笔记,涵盖了Flex中的基础组件、文本处理、样式设计、行为对象以及动画...
### FLEX4_flex4教程知识点详解 #### 富互联网应用(RIA)概念与背景 - **RIA定义**: RIA代表“富互联网应用”(Rich Internet Applications),是一种提供类似于桌面应用体验的网络应用形式。 - **RIA背景**: - **C/...
Flex是Adobe公司开发的一种开放源代码的富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建和维护在网页上运行的交互式用户界面。这个框架基于ActionScript编程语言和MXML标记语言,允许开发者...
Flex网页课程设计报告期末作业,主要探讨的是使用Adobe Flex这一技术来构建动态、交互式的Web应用程序。Flex是一种基于ActionScript编程语言和MXML标记语言的开源框架,它主要用于创建富互联网应用(RIA)。在本报告...
### Flex学习心得与关键知识点详解 #### 一、Flex组件模型 Flex采用了基于组件的开发模型,这使得开发者可以通过继承现有组件并扩展其功能来快速构建应用程序。这意味着开发者不需要从头开始编写所有代码,而是可以...
Flex是一种基于ActionScript(AS)的开放源代码框架,用于构建富互联网应用程序(RIA),它在Web上提供丰富的用户体验。本资源"Flex源码大合集"是一个集合,包含了多种Flex项目的源代码实例,适用于开发者深入学习和...
Flex 3D标签云是一种在Flex平台上创建动态、立体效果的标签展示技术,它通过将传统的二维标签转换为三维空间中的旋转元素,为用户提供了更直观、更具视觉吸引力的交互体验。这种技术常用于网站、应用程序或者数据...
非常全的flex 学习文档 目录 第 1 章 : 关于 Flash Builder 使用 Flash Builder 可以完成的工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...