flex的特点,flex布局什么时候出现的
Flex 4的主要特性之一是它提供了对Adobe的访问
Catalyst(Adobe的新设计工具,用于创建富互联网应用程序,无需编写代码)集成支持。Catalyst改变了开发者与设计者合作的方式。
类型,因为它清楚地知道应用程序开发人员和设计人员在工作方法上的显著差异。这样开发者和设计师都可以专注于自己擅长的领域。有了Catalyst,开发者和设计者
设计师可以用他们习惯的方式工作。Flex 4中的许多变化都围绕着Flex和Catalyst的集成。查看Adobe Catalyst网站。
去了解更多。
2.Spark组件架构
每个版本的Flex都包含一个完整的组件库,其中包含用于构建应用程序的通用组件,如数据表、按钮和布局容器。弯曲
4的底层组件架构称为Spark,而在Flex 3中称为Halo。为了支持Catalyst,Flex 4更新了底层组件模型,以达到松耦合的目的。
在新的Spark组件模型中,核心逻辑、皮肤和布局是分离的,这样我们就可以单独处理其中的任何部分,而不会影响其他部分。火花分量模型
建立在Halo组件模型上意味着Spark扩展了Halo的核心基类UIComponent,这样我们就可以增量使用Flex了。
4.同时,Flex 3组件可以应用于Flex 4应用程序。
此外,Flex 4也增强了效果。现在,您可以将效果应用于任何对象和类型,这提高了它的灵活性。弯曲
4的效果通过新的“spark.effects”包实现。就像新的组件库一样,Flex 4的效果被重新实现了,但是对Flex没有影响。
3,这样做的目的是为了保持向后兼容性。查看Chet Haase关于Flex 4效果的文章。
或者它的博客。
了解更多关于秋葵效应。
请阅读白皮书,了解有关Spark架构的更多信息。
3.MXML 2009
Mx基于MXML,并基于Flash Player使用的编程语言——ActionScript构建。
3以上。MXML用于布局用户界面和支持工具(如IDE,现在是Catalyst)的视图区域。MXML
2009包含了大量的更新来解耦不同的行为(核心、皮肤和布局),还提供了一个新的组件库。现在弯曲
4是在自己的包中实现的(spark。com组件),而不对Flex 3的组件进行任何更改。因此,MXML
2009提供了一个新的名称空间来支持它。
下面的应用程序声明示例显示了如何使用此命名空间并为Spark和Halo组件定义命名空间:
学生:申请
xmlns:FX= http://ns . adobe . com/mxml/2009
xmlns:s= library://ns . adobe . com/flex/spark
xmlns:MX= library://ns . adobe . com/flex/halo
这样,我们可以用下面的代码声明Flex 4的按钮:
s:Button label=My Flex 4 Button /
下面的代码声明了Flex 3的按钮:
mx:按钮标签=我的Flex 3按钮/
请浏览MXML 2009规格。
去深入了解它的变化。
4.视图状态的改进
Flex在Flex框架中引入了状态的概念,这样我们就可以通过简单的状态变化来管理视图组件的变化。弯曲
4改进的视图状态(视图
States)来简化它的语法,以便我们可以更容易地使用它们。新的语言属性includeIn和excludeFrom是简化语法的一个例子。我们能
设置组件的这两个属性值以响应状态更改(请参见下面的代码示例)。
!给定状态A,B,C
男:国家
m:State name=A/
m:State name=B/
m:State name=C/
/m:国家
!-该按钮将仅出现在状态A和B -
按钮标签=单击我包括=A,B/
!-该按钮将出现在状态A和B -
Button label= Button C exclude from= C /
请点击这里。
了解有关视图状态更改的更多信息。
5.FXG支持
Flash Player的核心是一个绘图引擎。在Adobe Flash Player中
FXG是在0中引入的,现在又引入了Flex。FX是一种声明式图形格式,可以在工具之间传递内容,这意味着设计人员可以使用Catalyst或CS4。
在Illustrator中创建内容,然后Flex应用程序开发人员可以导入并使用它,而无需修改任何内容。
请阅读FXG规范
了解更多详情。
6.皮肤增强
Spark组件模型最大的变化在于皮肤的颠覆性转变。现在皮肤可以控制组件的所有可视化部分,同时封装了组件核心之外的逻辑。这样,我们可以独立地修改组件的可视部分,而不会影响底层的核心逻辑。
看一下PanelSkin.mxml皮肤文件。面板容器的默认皮肤代码如下:
?xml版本=1.0 编码=utf-8 ?
s:SparkSkin xmlns:FX= http://ns . adobe . com/mxml/2009 xmlns:s= library://ns . adobe . com/flex/spark alpha . disabled= 0.5
fx:元数据
![CDATA[
/**
* @ copy spark . skins . default . application skin # host component
*/
[主机组件( spark.components.Panel)]
]]
/fx:元数据
fx:脚本
/*定义不应着色的皮肤元素。
对于面板,边框和标题背景是蒙皮的,但内容区域和标题文本不是。*/
静态私有常量排除:Array=[background , titleField , content group ];
/**
* @ copy spark . skins . spark skin # colorize exclusions
*/
重写公共函数get colorize exclusions():Array { return exclusions;}
/*定义应由“contentBackgroundColor”样式着色的内容填充项。*/
静态私有常量content fill:Array=[ BG fill ];
/**
* @inheritDoc
*/
重写公共函数get content items():Array { return content fill };
/fx:脚本
学生:国家
s:State name=normal /
s:State name=disabled /
/s:州。
s:Rect left= 1 right= 1 top= 31 height= 1
学生:填充
s:SolidColor color=0xC0C0C0 /
/s:fill
/s:矩形
!-第五层:文本-
!-定义PanelSkin类的标题栏的外观。-
s:simple text id= title field line break= explicit
left= 10 right= 4 top= 2 height= 30
vertical align= middle font weight= bold
/s:简单文本
s:Group id= content Group left= 1 right= 1 top= 32 bottom= 1
/s:组
/s:火花皮肤
因为皮肤文件仅用于控制面板容器的视觉外观,所以设计者可以修改组件的样式,而无需编辑其源代码或了解组件的内部行为。更重要的是,设计师可以以熟悉的方式使用Catalyst。
请点击这里。
了解更多关于秋葵的皮肤成分。
7.更新的布局组件
熟悉Flex开发的人可能会注意到Flex。
3中的大部分容器已经不在Gumbo组件库中了。这是因为布局已经解耦,现在我们需要通过委托来处理它们。因为大多数
Flex 3容器只提供不同的布局样式(比如水平布局的HBox,垂直布局的VBox等。),所以现在都没用了。
以下示例显示Flex开发人员现在也可以定义布局。这个例子使用Group类来管理按钮。Group是一个新的Spark类,用于管理其中的内容项。布局的结果是两个按钮并排放置,就像在Flex 3中使用HBox的结果一样。
s:组宽度=400 高度=400
学生:布局
s:horizontal layout padding left= 5 padding top= 5 /
/s:布局
s:Button label=Button 1 /
s:Button label=Button 2 /
/s:组
来自Adobe的Ryan Stewart对新的布局机制做了深入的分析。
8.Flash Builder 4
Flash Builder 4(以前称为Flex Builder)是面向应用程序开发人员的最新Eclipse。
IDE .新版本有许多更新,包括条件调试断点、更多重构工具和对FlexUnit 4的支持。像往常一样,它还包括MXML和ActionScript。
3.可视化设计器和Flex性能和内存分析器(只有专业版才有这个性能分析器)。
此外,这个最新版本还提供了高级数据管理功能,以简化以数据为中心的应用程序的开发。这包括客户端的数据管理特性,它可以处理CRUD操作并在大型集合中滚动。
请点击这里。
了解有关IDE的更多信息。
9.编译器性能
几乎每个Flex 3开发者心里都有一个糟糕的编译器性能。基于此,Gumbo的主要目标之一就是改进Flex。
编译器性能在4。虽然性能基准尚未正式发布,但来自Adobe的Peter
多诺万根据自己的实验进行了测试,结果显示新编译器的性能提高了25%。他说,如果想把性能提高3到4倍,就得重新设计。当然,每个
企业级Flex应用的开发者都希望在今年年底Flex 4正式发布时实现这一点。
请阅读彼得多诺万的文章。
去了解更多。
10.新文本功能
Flash应用程序(无论是Flex还是非Flex应用程序)的一个主要主题是高效处理文本的能力。在Flash Player中
0,Adobe推出了新的文本引擎来支持RIA的需求(多语言、打印、键盘快捷键等。).Gumbo引入了大量新的文本类(RichText,
简单文本等。)在Flex框架中提供更强大的文本支持。此外,Adobe正在努力开发新的文本布局。
该框架使ActionScript 3开发人员能够使用Flash Player文本引擎。请点击这里。
了解有关文本布局框架的更多信息。
正如你所看到的,Flex 4代表了这个流行的RIA平台的巨大进步。请查看马特乔丁的文章《Whats new in Flex 4 SDK beta》。
了解更多关于Flex 4 SDK的变化。
乔恩罗斯是大猩猩逻辑公司
科罗拉多州博尔德市的一名企业软件顾问和Flex业务主管。他还是著名企业软件社区InfoQ.com的编辑。再说,他是DrunkOnSoftware.com。
这是一个视频网站,面向那些爱酗酒的人。他的客户包括小公司和政府部门。他解决难题的天性使他致力于开发高质量的软件。你可以用它的博客。
认识他。
转自:http://www.infoq.com/cn/articles/top-10-flex4-changes