常常看到有人问,初学者该怎么学习Flex,我该从哪里入手?我每次都很想耐心的回答这个问题,但还是因为想说的内容太多,反而觉得那时候说肯定会漏掉一些重要的东西和步骤,所以没说。趁现在休息的时间,给自己一点思考,希望写出的东西也能更全面一点。
此玩意称之为Flex Component Library, 虽然说这版本还是Flex2.0Beta3的版本, 但是如果Flex3.0还没到来, 我认为这东西还是Flex的初学者们必看的, 它让我们能知道Flex给我们提供了什么样的模板(为什么称为模板, 我想这是因为其实这些控件我们都可以亲手把它给创造出来, Adobe只是提供了平常常用的稳定的控件, 我们不用每次都写而已, 但说实话, 就算是大公司写的东西, BUG实在很多, 也许就单独一个而言,它是满好的,但N多东西结合在一起的时候,我会常常叫OMG)。
Flex Component Library缺少了Chart这一类, 但是这东西我想你要用到它的时候你再去看也不迟, 我建议Flex Component Library中的Effects, States, Transitions, Printing可以滤过, 因为对于新人来说, 看完其它的东西已经足够了。 在看完Flex Component Library的内容之后, 我希望大家都能把源码放到自己机器上跑一跑, 自己写一写。 问到为什么的时候, 你只要记住内容就可以了, 不用再追问下去。
名字很象吧, 但内容就不一样了, 在学完以Macromedia为名义的Flex 2 Component Explorer之后, 我们再学学"新东家"Adobe的Flex 2 Component Explorer。 做法跟上面一样, 所做的我想就是保持好心态。
Demo
我希望各位的第一个Demo是一个Application+TitleWindow, 功能很简单, 在Application上有个DataGrid, 把里面选中的值传给TitleWindow里的DataGrid, DataGrid有添加, 修改, 删除的操作。如果希望难度加打点?加上httpService怎么样?要么Remote?不用心急,这些都可以放下。
想自己的画面好看一点, 那就来看看Adobe给我们提供了的工具。 如果还觉得不满意呢, 我们的Flexer–Jason Hawryluk自己写了个Flex 2 Primitive Explorer, 去看看? 如果你要更好看, 那你就去学CSS或者scale9。
Create Applications
Create Application
我想完成到这一步肯定已经有了部分的基础,继续提高自己的话那你可以到Adobe Flex App Sample 下载sample进行学习,sample中比较推荐的是Flex Store,还有一个重要的sample那就是Flex Style Explorer v2.0.1的源代码和Flex 2 Primitive Explorer的源代码,只要右键,你就能看view source。
Project in Structure
一个好的工程没有一个好的架构那是做得非常吃力的。对于已经成熟的团队,我非常推荐大家使用Adobe 推荐的Iteration::two公司的CairngormJeremyRiawave.
Create Components
Base
也有很多人问,上面东西我都会了,想写一个控件该从何处入手,最简单和最实用的方法是Help(F1)—–>Adobe Flex 2 Help—–>Creating and Extending Flex 2 Components,其中有2个重要的章节那就是Creating MXML Components 和 Creating ActionScript Components,顾名思义那就是如何用mxml和ActionScript来创建控件,里面的东西一定要全部看完
Ready
做完Base以后,我们将以实例子进行学习,打开X:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\frameworks\source\mx\controls,里面有个Button.as,对,没错,这就是Button.as的源代码,而且还是从UIComponent继承过来的最简单的控件之一,我们要做的是要读懂它的一文一字,就算是一个Boolean,里面也隐藏了很多学问。
Go
Ready之后,Go还成问题么?
Help
要Help吗?为什么每次遇到困难问题的时候总是去问身边的人。我不得不说的是当一个看Help(F1)的人和一个问别人的人在一个月内学习Flex,一个查看Help文档的人领先的不只是一条街那么大的距离。Any Question? Please Push F1!
Community Organizations
RIAChina — 中国RIA开发者论坛,是全国数一的关于Flex的讨论社区,里面隐藏着众多的高手,而且很多已经参加了工作并在实际项目中。
RIADev — 联系两岸三地的关于Flex/Apollo的华人论坛社区,它所表现的优势在于只要一提出问题,它将以邮件的方式以最快的速度发到每位成员手中,最重要的它是Jeremy带头的。
FlexCoders — 全球最大的Flex用户讨论组织,只要是关于Flex的问题,你都可以在这里提出,而且常常回答者都是Adobe公司参加或者跟Flex相关的工作人员,当然前提条件是你要具备对英语的阅读能力和表达能力。
FlexComponents— FlexCoders 的同胞兄弟,这里讨论的都是关于控件的问题,前提条件还是英文:-)
Books
End
相关日志