Fluid idea for Life

随笔,杂记

在Flex3 beta版中使用flex2的程序

由于〈Flex第一步〉的内容是基于flex2的,一些朋友询问是否可以在flex3中使用,答案是肯定的。

在使用Flex Builder3时,创建的Flex Project和Flex Builder2创建的有些差异。FB3默认将所有的源代码放在src文件夹中,而FB2则是直接放在项目文件夹下。FB3这个设置更加科学合理。我们只需要把所有的程序文件(包括as类和包,mxml文件,css文件,外部图片资源等)拷贝到 src中即可使用。

目前经过测试,还没有发现不兼容的情况。

目前Flex 3出了beta3版本,这是一个比较稳定的版本。有迹象显示,Flex Builder3应该会有多语言版。

FB3在安装时,多了一个选择语言的选项,虽然现在只能选择English.安装结束后,进入Flex Builder 3\sdks\3.0.0下面,发现多了一个文件夹“samples_ja",这是一份日语版的实例程序。很明显,Adobe正在做FB多语言版本的工作,而且已经进行到文档部分了,看来中文版也是很快。不过我不明白,难道日本的市场更大吗?

2007.12.26 更新:经过测试,Flex 3 beta3和Flex 2相比,有诸多不兼容之处,请读者使用Flex2来运行书中实例。

Tags: flex2, flex3

Flex上传文件例子 -- 《Flex第一步》知识点纠正

在《Flex第一步》的第十五章中,有一节关于文件上传的内容,这其中存在一个严重的知识性错误,在此特别作说明。 文中提到:在上传文件时,当上传结束后无法获取服务器的返回信息。最近翻看AS3.0的官方文档,发现是可以实现的。

» 阅读全文

Tags: Flex

最近的新闻集合

Adobe最近频繁动作,前不久的25周年庆,网站大改版,然后是一些重量级的新闻。比如FMS3即将发布,价格大幅度降低,可以说是跳楼价。FMS自从2.0之后,偶尔有小的修正版本,这次大版本更新,不知道会有什么新的功能。 现在在Flash流媒体这块,除了FMS,就是开源的Red5和同样为商业产品的Wowza Media Server。一直以来,因为FMS的高价,另外两个才显示出价值。就在FMS3宣布降价后,Wowza也马上调低价格。从Wowza的官方站点可以看出,他们一直是把FMS视为对头的,关于这一点,可以从这里看到。Wowza具有自己的一些优势,比如支持更多的操作系统,而FMS,除了Windows和部分Linux,就不行了。 不管怎样,FMS3的发布绝对是非常引人注目的,现在SilverLight又参合近来,一场争夺站要上演了。

Flex3 beta3发布了,当然也包括SDK3的更新。前阵子想在项目中使用Flex3 beta2,结果发现一些致命Bug,于是作罢。看看这个版本到了什么地步。这应该是正式版前的最后一个测试版了吧,难道还beta4?

在labs上最近发布了名为“BRIO”和“BlazeDS”的东东,值得关注!

Tags: Flex, FMS

重复使用RSL中的资源

Flex2或3中,运行时的共享库(Runtime shared library)很有用。可以将类放在外部共享中,也可以将图形、小动画以SWF的形式共享。以类的方式共享相对要简单些,就好像Flex3支持SDK缓存一样,甚至可以做到跨域共享。不过这个功能估计要等到 Flex3正式版本出来才看得清楚,现在Flex3 beta的Bug实在太多了。
相比之下,共享图形等资源是非常实用的。由于在Flex中无法直接访问RSL中的图形资源,也就是无法直接取出SWF库中的元件,尽管都已经通过连接方式导出,常见的做法(来自 Programming.Flex.2中的实例):

先在类中嵌入资源,这里都定义为静态属性,方便调用。

ActionScript" style="font-family:monospace;">package com.oreilly.programmingflex {
    public class Images {
        [Embed(source="image.jpg")]
        public static const IMAGE_A:Class;
    }
}

使用:

<?xml version="1.0" encoding="utf-8">
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
    <mx:Script>
        <![CDATA[>
            import com.oreilly.programmingflex.Images;
        ]]>
    </mx:Script>
<mx:VBox>
<mx:Image source="{Images.IMAGE_A}" scaleContent="true" width="100" height="100" />
</mx:VBox>
</mx:Application>

如果我们希望可以更灵活地操作资源,比如添加到任一容器中。毕竟Image是个比较大的控件。进入SDK里面,研究了Image类的代码,我找到了一个比较简单的方法:

var myClass:Class = Class(Images.IMAGE_A);
var child:DisplayObject = new myClass();                    </p>
<p> var u:UIComponent = new UIComponent();
u.addChild(child);

SWF库中的元件都被视为DisplayObject类型,Flex中的容器都重写了addChild方法,只有扩展了IUIComponent的对象才可以添加到Flex容器中,这里借助UIComponent来显示。

Tags: ActionScript, Flex

为Flex Builder装两个实用插件

1、Subclipse

最近工作中,所有项目都在SVN中进行。由于Flex Builder没有内置SVN支持,很是不便。在编译时,"svn"文件夹会导致一些莫名错误。在编写Flash as时,我现在习惯用Flash Develop,小巧实用,也支持SVN。为了方便,给Flex Builder也装了SVN插件。由于FB基于Eclipse,安装方法都是一样的。

选择 Help -> Soft Updates -> Find and Install,在弹出的窗口中选择“Search for new features to install",然后创建新的"New Romote Site",Name为“Subclipse”,URL是"http://subclipse.tigris.org/update",接下来就是一路next之类的了。

安装结束后,在Window->Perspective->Customize Perspetive中激活svn,就可以在File->New 中看到SVN的选项了。

2、FMS plugins

下载地址:http://fczone.com/eclipse/downloads/

编写FMS服务器端脚本时,最头疼的莫过于AS1的语法了。习惯了AS2、3后,在没有代码提示的环境下,写代码确实是件很头疼的事,这个插件就可以发挥作用了。

安装时,把jar拷贝到 FB的plugins目录下,就OK了。

update 2008.2.19,Flex Builder 2基于的 Eclipse版本为3.1,安装svn时,地址为:http://subclipse.tigris.org/update_1.0.x,Flex3则使用Eclipse 3.2后的版本,对应的地址是:http://subclipse.tigris.org/update_1.2.x

FMS plugin只适合Flex Builder 3

Tags: Flex, plugin

[置顶]《Flex第一步》错误汇总

《Flex第一步》上市后,陆续收到读者的反馈,指出了书中的一些错误和遗漏。由于水平有限,审稿时有疏忽,对此给读者造成的误导和不快,还请大家谅解! 这里我把已经发现的错误集中记录,方便读者查看!

» 阅读全文

Tags: Flex第一步勘误

Flex第一步 -- 已经上市

今天看到卓越网上新书已经上架,点击看详情,另外,华储网上也到货了.也可以在淘宝网上购买,地址是:点击这里

现在书店应该有的卖了,可能各地的时间不同。

我也快收到书了。^-^

News:当当上架了

Flex第一步 书友会成立,欢迎读者来交流!

翻译:理解Flex程序的运行机制

此文是我翻译自OReilly出版的 Programming Flex 2 中部分章节,略有修改.

从某种程度上说,即使一点也不了解Flex程序的运行机制,也并不妨碍我们开发Flex程序。不过,弄清楚那些基本的结构还是非常有好处的,起码可以知道它的内部是怎么工作的。这会帮助我们实现一些有趣的功能,比如个性化预加载条,在运行期间加载其它的Flex程序,管理运行期间库元件的加载和卸载等等。更远的方面,理解Flex程序的运行可以帮助完善程序,因为我们将知道如何去优化代码。比如,如果想确定哪些代码是在预加载期间执行的,就得知道如何去捕捉这些事件。

每个Flex程序都是从SystemManager开始的,它是flash.display.MovieClip的子类,一个可视的数据类型,MovieClip支持时间轴。SystemManager有两桢。Flex程序的第一桢用来显示一个下载进度条。这一桢应该尽量使用少量的元素,避免文件尺寸过大,使得可以被快速下载,这时候,Flex框架还有大部分没有加载,只有一些核心的类库被加载,加载结束后,进入第二桢。直到第二桢,程序才完全加载进来,包括程序中使用的Flex框架中的大部分类库。如果我们要个性化预加载条,就得先了解SystemManager的工作流程。

下图演示了程序的初始化流程: SystemManager的初始化流程

一旦程序中SystemManager的实例进入第二桢,它将创建主程序类的一个实例。SystemManager实例有个属性“application”,初识值为null,直到此时才被指向主程序实例。然后,主程序的实例开始自身的初始化。这时,依次触发了主程序的内部事件: preinitialize 表示程序被初始化了但还没有开始创建任何子对象. initialize 程序创建了子对象但这些子对象还没有调整好布局 creationComplete 程序完成了初始化,并绘制好了所有子对象。

主程序完成了这一切后,抛出applicationComplete 事件,并告诉SystemManager :一切准备完毕,可以开始运行了. SystemManager也负责管理所有位于程序显示层次最顶层的对象,包括所有的pop up(弹出窗口),cursors(鼠标样式),和tool tips(鼠标提示)都位于SystemManager实例中。 SystemManager的属性“topLevelSystemManager”,代表当前运行在Flash Player中的根元素。在Flex程序中,这个属性总是指向SystemManager实例自身。当一个Flex程序被加载到另一个Flex程序中时,被加载的程序也会拥有自己的SystemManager,但这时候它的topLevelSystemManager属性就会指向主程序的SystemManager对象。 一般情况下,我们并不需要去使用SystemManager对象,但如果想使用它,也是非常容易的,所有UIComponents的子类(包括Application)都有一个“systemManager”属性,指向当前的SystemManager对象。 在实际开发中,我们可能会使用SystemManager去侦听程序中任何一个可视对象的事件,因为事件冒泡机制告诉我们,冒泡阶段的最后一个对象总是SystemManager。

接下来的内容是:加载另一Flex程序,待续

Flex 2降价了

http://weblogs.macromedia.com/flexteam/archives/2007/11/flex_builder_2.cfm

The new pricing for Flex Builder is: Flex Builder 2 – US $249 (reduced from $499) and Flex Builder 2 with Charting – US $699 (reduced from $749). Regional pricing will align with these new lower US prices.

看来Adobe要加大力度推广flex啊

Flex 第一步 即将上市

书名: Flex第一步 ISBN:9787302162568

封面

这是国内第一本Flex开发的书 作者:邱彦林 (第1-15章) 王磊(第16、17章)

全书共分为17章。内容包括:Flex简介、Flex的安装和开发环境的建立、MXML 语法简介、使用容器控制界面布局、使用组件处理数据和交互、使用行为对象和动画效果、ActionScript 3.0编程知识、Flex的事件机制、数据绑定、组件的使用、Flex 2.0新特性实例开发、Flex与外部的数据通信、Flex程序设计等。 书中包括四个大型应用开发实例:Flex数据库留言本、Flex产品展示系统、Flex投票系统、Flex天气预报系统。除此之外,书中还贯穿了大量Demo级小例子,让技术不再抽象,帮你快速掌握Flex开发的关键。

目录下载:http://www.flex9.cn/book/catalog.pdf 样章下载: 第二章:Flex的安装和开发环境的建立 第六章: 使用行为对象和动画效果 第十三章:Flex程序设计

本书的另一作者:王磊,微软认证解决方案专家(MCSD,这也是整个微软认证应用开发体系中等级最高的一个认证)。毕业于哈尔滨理工大学计算机与科学技术系。在学校期间参与过计算机与控制学院网站、哈尔滨理工大学网站、哈尔滨理工大学BBS、就业中心网站的建设。曾任校计算机协会会长、策划并主持过商业网站的运营。毕业后在大连一家知名外企工作并任项目支持经理一职,在职期间主持并参与过“交互式语音应答系统”、“商业业务智能生成平台”、“医疗保险实时管理解决方案”等大型项目的开发。精通Java、.NET、服务器端开发,以及便携设备(手持设备)的开发。曾在日本出差一年,学习国外先进的管理方式和开发理念,在此期间接触到了Flex。自Flex 1.0时代就开始了Flex的研究,在Flex 1.5时代曾开发过国内当时仅有的一个Flex版本的Blog,有近四年的Flex开发经验。

这里是他的联系方式 Email:fxblog@gmail.com URL:http://www.k-zone.cn/zblog

更多详细信息请看这里:http://flex9.cn/

最新消息:

华储网上已经可以预订本书了,定价:68元,售价:51元

Total: 142Page 12 of 15« First‹ Prev9101112131415Next ›