第一部分:走进flex
概念
Flex是富客户端的表现层解决方案,特点:1)ajax后台 2)整合声音,视频等。编写MXML和ActionScript,用编译器生成swf,用户浏览器只要安装有flash播放器就可以观看。
特点
1.使用矢量图形,并在flex中提供矢量图形的API
2.丰富的组件库,可以 查找网上的组件库
3.支持多媒体,如flv格式视频,与FMS等流媒体服务器进行通信,实现即时视频会议,视频聊天,在线录制视频等。在本地存储数据,类似cookie
4.与服务器端的通信:
jsp,链接web service,remoting和socket等通信方式。
Flex数据服务器Flex Data Service. Remoting服务器端
利用Socket实现FTP,邮件服务器,聊天服务器的通信
5.丰富的界面组件,flexbuilder的代码提示功能,构建工具的集成,编译功能,界面所见即所得。
有用的插件
BlazeDS
1.使用Message Service实现实时话的数据通信
2.使用Proxy Service实现跨域的程序访问
3.Remote Service:远程方法调用
自动化测试
基于utp的自动化测试,有文档和插件,需要qtp支持
FLEX4的新特性
Spark结构
将可视元素和逻辑实现分开,有点像mvc,外观类使用MXML编写,组件类由ActionScript编写。每个 Spark 组件类定义三个十分重要的元素:组件期望的数据、组件的构成部分以及组件可以进入和退出的状态。在相应的外观类中,外观定义了如何可视显示该数据、如何放 置和可视化部件以及组件在进入和退出不同状态时的外观。这三个主要元素,即数据、部件和状态,定义了作为 Spark 基础的外观设计合同。
更方便的设置外观样式:Flex 4 布局中依然可以找到宽度和高度、基于限制的布局以及基于百分比的大小等 MX 概念。但是,除了这些概念,Flex 4 布局还提供一套全新的功能,包括(但不限于)针对更强大的 2D 和 3D 变形的 API
可指定的布局:将特定布局指定到不同容器和控件的能力(而不是将布局直接嵌入容器或控件的定义中)
新的图形库:Flex 4 中的新增功能之一是引入了一个图形库,经常被称为 MXML Graphics,它包括图形基元、分组容器以及复杂变形支持。图形基元包括矩形、椭圆和路径等形状以及文本基元。您可以实例化这些使用 MXML 的基元,设置属性或定义子代元素(您可以执行 Flash Player 绘图功能允许的任何操作)。
增强的状态模式
全新的效果引擎
下面是各个组件,具体可参考flex 4文档
Spark 容器
所有 Spark 容器都支持可指定布局。
- Group-Flex 4 中的一个不可设计外观的容器类,它可以包含 UIComponents 等可视子代、Adobe Flash Professional 中创建的 Flex 组件或图形元素。
- DataGroup-Flex 4 中的一个不可设计外观的容器类,它只能包含子代等非可视数据项。DataGroup 容器支持生成项呈示器(这是一种可视元素,它将数据项转换为可显示项)及其元素的虚拟化。
- SkinnableContainer-Group 的可设计外观的版本。
- SkinnableDataContainer-DataGroup 的可设计外观的版本。
- Application-针对基于浏览器的 Flex 应用程序、可设计外观的顶级容器(与 AIR 应用程序相反,后者使用下述 Spark WindowedApplication 容器)。
- BorderContainer-支持边框和背景填充的 CSS 样式的一个可设计外观的容器(与 MX 容器支持的边框和背景样式类似)。
- Panel-支持标题栏、题注和边框的一个可设计外观的容器。
- TitleWindow-与 Panel 类似、支持关闭按钮和可移动区域的一个可设计外观的容器。TitleWindow 将通过 PopUpManager 以弹出窗口形式弹出。
- Window-可用作 Adobe AIR 应用程序中的顶级应用程序窗口的一个可设计外观的组件。
- WindowedApplication-定义 Adobe AIR 应用程序中的应用程序容器的一个可设计外观的组件。
按钮组件
- Button-可设计外观的矩形按钮。
- Button-可设计外观的矩形按钮。
- CheckBox-包含标签和支持复选标记的框、可设计外观的组件。
- RadioButton-用于跨一组相互排斥的单选按钮识别一个选择、可设计外观的组件。
范围组件
- ScrollBar-用于控制给定内容区域中的数据显示量、可设计外观的组件。
- Slider-允许通过在一个滑块轨迹的两个端点之间拖动缩略图选择值、可设计外观的组件。
- Spinner-包含用于从一个有序集中选择值的向上和向下按钮、可设计外观的组件。
- NumericStepper-可设计外观的组件,它实质上是一个连接到 Spark TextInput 控件的 Spark Spinner 控件,允许选择和编辑数值。
文本组件
- Label-显示单行统一格式文本、不可设计外观的控件。
- RichText-可显示多行富格式文本并支持嵌入图像、不可设计外观的控件。
- RichEditableText-可用于显示、滚动、编辑和选择多行富格式文本、不可设计外观的控件。
- TextArea-允许显示和编辑多行富格式文本、可设计外观的控件。
- TextInput-允许显示和编辑单行统一格式文本、可设计外观的控件。
基于列表的组件
- List-显示数据项、可设计外观的组件。它支持生成项呈示器、单项和多项选择、拖放操作、虚拟化和可指定布局。
- DropDownList-允许用户从拖放打开的列表中选择值、可设计外观的组件。
- ComboBox-可设计外观的组件,实质上是一个带有可编辑功能的 Spark DropDownList。
导航器组件
- ButtonBar-支持从类似于导航器的一组按钮中选择一个按钮、可设计外观的组件。
- TabBar-支持从类似于导航器的一组选项卡中选择一个选项卡、可设计外观的组件。
Spark 滚动组件
- Scroller-定义可滚动视图、可设计外观的组件,可支持垂直和水平滚动栏。
Spark 媒体组件
- VideoPlayer-支持回放视频媒体、可设计外观的组件,它构建在开放源媒体框架*之上。
文本引擎
为RichText, TextArea,TextInput Combox等加入文本布局框架(Text Layout Framework)