[Flex 2] 02 Flex
###################
#
Flex与Web设计
###################
大多数企业级的Web设计都需有3层结构:
*
表现层(Presentation
Tier):这一层构建的是用户看到的内容。有时候,人们也把这一层叫做图形用户界面(graphical
user interface,GUI)。
*
业务逻辑层(Business
Logic
Tier):幕后工作就发生在此层。程序代码就是在这里确定什么可以留下来、什么不可以留下来以及到其他服务器和数据库的连接。这是完成实质性工作的地方。
*
骨干层(Backbone
Tier):根据业务逻辑层中声明的规则来收集和分发数据的数据库服务器就处在这一层。
人们有时候把诸如此类的设计叫做n-层设计。除了刚才列出的基本的3层设计,有些设计方案还有额外的服务器层和数据层。
Flex主要是参与表现层的建设。事实上,人们常常把Flex称为呈现服务器。它的主要功能是运用为创建RIA(第1章有介绍)而设计的工具来创建用户交互。
###################
#
Flex应用程序框架
###################
Flex应用程序框架有其自身的层次结构。
位于最上方的是MXML和ActionScript3.0。其意义非常重大,因为它意味着Flex使用是Web设计中的两个最流行的工具:XHTML和面向对象编程(object-oriented
programming, OOP)。MXML类似于XHTML,ActionScript3.0则遵守了OOP的那些最严格的准则。
现在,如果光凭这两样仍不够的话,我们还可以同时运用MXML和ActionScript3.0对Adobe
Flash Player
9的能力进行驾驭。这意味着我们实际上获得了3方面的最佳组合:一门类XHTML的语言(MXML)、OOP(ActionScript3.0)和Flash的能力。3者合而为一。
Flex还自带了一个丰富的类文件(预建程序)集合,该集合包含了成功构建RIA所需要的大部分工具(其中包括用来连接到数据源的Flex
Data
Services(Flex数据服务))。即,我们需要的大部分东西已经构建好了,我们要做的就是在需要的地方调用它,并加入各种想要的自定义内容。Flash
Player会知道如何处理这些预建的类文件,并使用它们构建出一个能与用户交互的RIA表现。
1
MXML
MXML是一门基于XML的语言,它提供了一种简便的方法来调用和管理应用程序的视觉元素。同样,大部分的视觉元素都是已经预建好,等着我们直接
相关文档:
一个导航容器可
以通过一组子容器来监控用户的操作。比如,TabNavigator
这个容器就可以通过一组tabs
来让用户选择可见的子容器。Flex3
提供了三种主要的导航容器:
Ø
ViewStack
Ø
TabNavigator
Ø &nbs ......
Hey,buddy! How are you doing these days?All right,Let us straight to the point.
flex嵌入字体有两种方式:
方式1,直接嵌入:
[Embed(mimeType='application/x-font', source='font/minicartoon.ttf', fontName='迷你简卡通')]
private var mnCartonFont:Class;
&nbs ......
制作可用鼠標框選的TileList,因為時間比較匆忙,所以错漏在所难免,请大家不吝赐教。另外小部分代码参考自网上。直接上代码。
package
{
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
import mx.controls.TileList;
import ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">
<mx:Script>
<!--[CDATA[
import mx.controls.Alert;
public var newBuildMenuItem:ContextMenuItem;//菜单项变量
private ......
===============================
图灵程序设计丛书(Web开发系列)
===============================
The Essential Guide to Flex 2 with ActionScript 3.0
&nb ......