Flex框架及最详细比较 MX and Spark组件
Flex框架:flex框架: 现有成熟常用的Flex框架:http://apps.hi.baidu.com/share/detail/15397160 Cairngorm 企业级Flex客户端框架: 主题:Blazeds文档(一)-------Blazeds初步 http://www.iteye.com/topic/267517 精通Flex3、ActionScript3.0编程设计,熟练掌握Flash Builder/eclipse等开发环境,对定制组件和组件的生命周期有深入的了解 Flex3到Flex4,增加了Spark组件,这是Flex的一次重要升级,基本上组件全部重写了一套,为了保持向下兼容,出现了同一组件两套实现并存的现象,虽然说Spark组件中也可嵌入MX组件,但实际使用常会遇到些小麻烦,例如mx:Tree滚动条异常,透明背景无法监听鼠标事件等等,如果你使用定制的组件,写法稍有不规范,就会出现Spark下显示异常,比如之前定制的TWaver圆角文本输入框就是如此,不得不在Spark下重新实现。 Spark与MX组件的区别Spark最大的目的或许是方便Adobe兜售它的Flash Catalyst,当然这是个玩笑,Spark组件更加轻量,更易扩展。所有的Flex组件都从UIComponent继承,Spark组件也是如此,只不过它多了一层包装,从SkinnableComponent继承。MX中每个组件对应一个类,在Spark体系中,每个组件对应两个类,一个Component类,一个Skin类,例如按钮组件对应:spark.components.Button和spark.skins.spark.ButtonSkin,这种设计实现了组件行为逻辑与视图呈现的分离,就像将程序员和美工的工作分开一样,这也是MVC思想的产物。 有意思:Java 开始有一个AWT,后台也弄了一个Swing Spark组件外观定制前面提到Flash Catalyst,这就是Adobe提供的组件外观可视化编辑工具,这个工具主要针对美工、设计师,对于习惯于写代码的程序员们也可以使用Flash Builder 4+来定制组件。 详细比较 MX and Spark组件
|
MX | Spark |
mx.controls.AdvancedDataGrid | none |
mx.controls.Alert | none |
mx.controls.Button | spark.components.Button |
mx.controls.CheckBox | spark.components.CheckBox |
mx.controls.ColorPicker | none |
mx.controls.ComboBox | spark.components.DropDownList (w/o editability) |
mx.controls.DataGrid | none |
mx.controls.DateChooser | none |
mx.controls.DateField | none |
mx.controls.HorizontalList | spark.components.List (w/ HorizontalLayout) |
mx.controls.HSlider | spark.components.HSlider |
mx.controls.Image | spark.primitives.BitmapImage |
mx.controls.Label | spark.components.Label |
mx.controls.LinkButton | spark.components.Button (w/ custom skin) |
mx.controls.List | spark.components.List |
mx.controls.Menu | none |
mx.controls.NumericStepper | "spark.components.Spinner (no TextInput control)spark.components.NumericStepper" |
mx.controls.OLAPDataGrid | none |
mx.controls.PopUpButton | use spark.components.PopUpAnchor |
mx.controls.PopUpMenuButton | use spark.components.PopUpAnchor |
mx.controls.ProgressBar | none |
mx.controls.RadioButton | spark.components.RadioButton |
mx.controls.RadioButtonGroup | spark.components.RadioButtonGroup |
mx.controls.RichTextEditor | build own component |
mx.controls.SWFLoader | none |
mx.controls.Text | spark.components.Label |
mx.controls.TextArea | spark.components.TextArea |
mx.controls.TextInput | spark.components.TextInput |
mx.controls.TileList | spark.components.List (w/ TileLayout) |
mx.controls.Tree | none |
mx.controls.VideoDisplay | spark.components.VideoPlayer |
mx.controls.VSlider | spark.components.VSlider |
【Additional Spark controls】
spark.components.ToggleButtonspark.components.HScrollBar
spark.components.VScrollBar
【Layouts/Containers】
MX | Spark |
mx.core.Application | spark.components.Application |
mx.containers.ApplicationControlBar | spark.components.ControlBarContent |
mx.containers.Canvas | "spark.components.Groupspark.components.DataGroupspark.components.SkinnableContainerspark.components.SkinnableDataContainerspark.components.Border" |
mx.containers.ControlBar | spark.components.ControlBarContent |
mx.containers.Form | none |
mx.containers.FormHeading | spark.component.FormHeading |
mx.containers.Grid | write custom layout |
mx.containers.HBox | spark.components.HGroup |
mx.containers.HDividedBox | use MX with Spark containers |
mx.controls.HRule | spark.primitives.Line |
mx.modules.ModuleLoader | none |
mx.containers.Panel | spark.components.Panel |
mx.controls.Spacer | none |
mx.containers.Tile | spark.components.Group (w/ TileLayout) |
mx.containers.TitleWindow | none |
mx.containers.VBox | spark.components.VGroup |
mx.containers.VDividedBox | use MX with Spark containers |
mx.controls.VRule | spark.primitives.Line |
mx.core.Window | spark.components.Window |
mx.core.WindowedApplication | spark.components.WindowedApplication |
【Additional Spark Layouts/Containers】
spark.components.Scroller【Navigators 】
MX | Spark |
mx.containers.Accordion | use MX with Spark containers |
mx.controls.ButtonBar | spark.components.ButtonBar |
mx.controls.LinkBar | spark.components.ButtonBar (w/ custom skin) |
mx.controls.MenuBar | none |
mx.controls.TabBar | spark.components.ButtonBar (w/customSkin) |
mx.containers.TabNavigator | custom Spark TabBar with MX ViewStack |
mx.controls.ToggleButtonBar | spark.components.ButtonBar (w/ custom skin) |
mx.containers.ViewStack | use MX with Spark containers |
【Charts 】
MX | Spark |
mx.charts.AreaChart | none |
mx.charts.BarChart | none |
mx.charts.BubbleChart | none |
mx.charts.CandlestickChart | none |
mx.charts.ColumnChart | none |
mx.charts.HLOCChart | none |
mx.charts.Legend | none |
mx.charts.LineChart | none |
mx.charts.PieChart | none |
mx.charts.PlotChart | none |
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!