Flex是什么?RIA(RichInternetApplications)。Flex是Macromedia发布的presentationserver(展现服务),它是javawebcontainer或者.netserver的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的flashplayer或者shockwaveplayer解释执行,给用户以丰富的客户体验。说这么多,还不如看实例:
苹果树下:http://appleshow.cc/tuya/
DIYINN:http://www.diyinn.com/products_assortment/1.html
这个需要进去再点“使用该产品制作个性化产品”才可以看到界面
引用内容
现在不少人开始关注并学习Flex了(至少比以前多了),但是现在关于Flex的资料并不多,国内的资料就更少了,而且Flex的论坛人气都差的很,一眼望去全都是提问帖子,回帖超过5个的寥寥无几,惨不忍睹啊。我翻译一些东西也是为了增加中文学习资料,不过真正想要学习最好还是趁早习惯了英文,去看英文文档以及英文Blog。我不是什么专家牛人,我技术水平差的远,但是我学习Flex的时间算是比较长的了,所以在这里给初学者提一点学习建议,希望能帮助大家少走点弯路。
一、起步
1.了解Flex以及相关的东西。
一开始你最好先搜索一下Flex到底是什么,有次我居然看到有人问Flex和FlexBuilder有什么区别,faint。建议大家最好是先看看Flex白皮书,看一些介绍Flex的文档,先把FDS,FlexSDK等东西搞清楚再说。
2.初级
了解了基本概念之后,开始进入学习了。初级教程还是挺多的,比如FlexQuickStarts以及Adobe官网上的初级教程。FlexQuickStarts中文翻译在Adobe中国(http://www.adobe.com/cn/devnet/flex/?tab:quickstart=1)上可以找到。其中有很多示例,那些示例你最好一行一行的敲出来,然后运行看看结果,不要直接复制。初学任何东西的时候都不要复制别人代码,偷懒也要看情况。
看完FlexQuickStarts之后,应该对Flex中的组件布局,事件机制等有了大概了解了。这个时候建议你了解一下Flex中的各种控件。官方有一个介绍各种控件的非常好的例子:AdobeFlex2ComponentExplorer,依然建议把所有代码敲一遍,至少对每个控件的样子以及容器的布局方式有个印象,到时候你需要什么的时候就自然想到某个控件。
了解了控件之后,应该了解一下ActionScript3.0了,这个东西比较强大。如果你以前没有接触过AS,那么建议你认认真真看一下AS3.0的基本语法以及各种数据类型,虽然每种语言基本都是相通的,但是至少还是有点区别的,如果自以为是很容易就吃亏。
3.进阶
经过了一些练习对MXML,AS3.0应该都比较熟悉了,接下来就是看一些高级教程+模仿示例代码了。高级教程AdobeFlexDeveloperCenter上有不少,应该看。而且Adobe自带的那个FlexStore也是个很好的例子。很多国外的Flex开发者都会将自己做得小例自提供源代码下载,所以示例代码不难找。在模仿别人代码的时候要注意别人的一些编程思想,比如组件之间如何通讯之类的,看多了代码以后遇到类似问题解决方案自然就出来了。
(BTW,我现在就处在进阶阶段,并且将会长期处于进阶阶段)
以上是关于如何学习Flex的,下面我说一下学习过程中碰到问题的解决方案。
1.查看帮助文档。帮助文档是最好的教程,里面的东西多了去了,不要碰到问题就去别的地方问,应该先看帮助文档。我学了Flex才发现任何大型软件的帮助文档都是最好的教材,你把帮助文档看透了就已经远远超过初学者了,市面上那些教材基本全都是抄袭帮助文档,个别好书除外。所以遇到问题先去搜索一下帮助文档,如果哪个概念有问题,就把相应的章节仔细地看一遍,保证你有收获。
2.Flex邮件列表。遇到帮助文档无法解决的问题不要去国内的论坛提问,不是我对国内的论坛有成见,而是事实确实如此,像Flex这种东西的问题没有人会理你,国内牛人都很忙,没空回答问题的,这点大家应该都了解,所以建议大家直接去加入雅虎Flex邮件列表。在回答之前先搜索一下以前别人的邮件(这里搜索:http://www.mail-archive.com/flexcoders@yahoogroups.com/),一般你不太可能那么幸运,你碰到的问题别人基本都碰到过而且很可能得到了解答,所以基本上一些小问题都能搜索出来,而且在提问之前先搜索一下也是礼貌,最好不要浪费别人的时间来回答重复的问题,虽然里面有很多热心的人。找不到就发邮件提问,邮件列表里高手如云,还有AdobeFlex开发小组的MattChotin等,你的问题不太可能得不到解决,顺便还能练习英文写作。
除了以上这些建议之外,建议大家平时多去MXNA和FlexBlog(关于Flex的Blog你可以在http://www.flex.org上找到,这里提醒一下,不要在那些开发者Blog上提问与文章不相关的问题,那样很不礼貌)看看,MXNA上的新闻值得关注,而且经常有人写一些初级和高级教程的,而且还附带源码下载的,而且写这些教程的一般都是高级开发者(迫切期待国内高级开发者也能抽空写初级教程),相信经常关注你会受益匪浅。
最后声明一下,我是一个初学者,技术水平一般,只不过是翻译了一些Flex教程,而翻译的功劳大部分可以归功于金山词霸和Google翻译。所以大家如果遇到问题后查找帮助和邮件列表都得不到解决,那么我肯定也无能为力,所以请大家以后不要到我Blog上提问了,多谢大家。不过还是希望大家能喜欢我翻译的东西,以后我会更努力的。