简单的理解Flex
Flex是什么?我们可以简单的理解为是许多技术和服务产品的总称。也可以看成是Adobe公司为我们J2ee应用程序提供的一个展现服务器。主要用来和我们j2ee环境下进行整合的一个开发包(war)。也可以理解为主要有actionscript和mxml两种语言组成的一个应用。从框架上考虑,flex就是一个开源的框架。就像Spring,Hibernate一样。
一句话总结:Flex是用来开发新一代的“复杂Internet应用”(RIAs - Rich Internet Applications)。结合桌面应用的可用性和web应用的易于管理的优点来开发一种复杂Internet应用。既继承了传统桌面应用的及时性,又发挥了流行的web应用的易于部署和管理的优点。
Flex是一个在J2EE应用服务器或servlet容器安装的展现服务器。它拥有丰富的用户界面组件、用于排布这些组件的基于XML的标记语言,以及可以处理用户交互的面向对象编程语言。这些技术的给我们带来的是:使用Flash播放器渲染复杂Internet应用,使用工业标准和开发者熟悉的方式进行开发。
简单的理解Flex的组成
Flex主要包含两种文件,一种是mxml文件和actionscript文件。其中mxml文件是基于xml的,这就表明了它是可扩展的,可定制的标签。在mxml中引入了大量的丰富的标签集 。加快了开发速度,它主要用来展现表示层的页面。其中一个as文件主要用来控制一些简单的编程逻辑和用户交互的需求 ,as是一种大家熟悉的面向对象的语言,支持面向对象的三大特性,对我们后台程序员来说,更简单了,它的语法与java,c#,js很相似,其实所有的面向对象的语言的语法都是大同小异的。
简单的理解Flex的工作原理
我通过简单的对比,让大家很快的了解它的工作原理。先回想一下jsp的工作原理,它首先被预编译成 servlet,也就是我们熟悉的java类,然后再编译成jvm所能执行的class字节码。而mxml文件的这个工作原理与jsp很相似的,mxml首先也被预编译成as中间文件,在编译成Adobe Flash Player 能执行的swf字节码。Adobe Flash Player 就像java虚拟机一样。但它们有一点不同的是,jsp的字节码执行是在服务器端执行的,而Flex的swf字节码是有服务器发送到客户端(浏览器)的Adobe Flash Player 上执行的。这一点的差别,大家可能就可以看出flex的优点了,起码可以减轻服务器的压力了。
更形象的我们可以把mxml比作jsp,而as看成servlet(java)来理解可能更简单了。上面是从工作原理上比喻是非常接近的。如果我们但从表现的比喻的话,可以把mxml看成是html,而把as看成javascript。这样大家可能会更好的理解,mxml(html)主要用来显示的,而as(javascript)主要用来控制一些编程逻辑和用户交互的需求。我们通过这两个形象的比喻,你应该理解Flex了吧。
简单的实现HelloWorld
我将会通过一个简单的HelloWorld的例子,让你彻底的了解Flex的工作原理。先写一个mxml文件,也可以写成as文件。打开记事本写入下面对代码。
然后保存为HelloWord.mxml。我保存在D:\flex\HelloWord.mxml.
HelloWorld写好了,我们现在怎样通过命令行运行呢?首先保证你的电脑上已经按装了SDK,就像运行java必须安装JDK一样。一般我们在配置环境变量path,就是可以在命令行下不用切换到SDK的bin目录下就可以直接使用的命令,这个大家应该都很熟悉吧。自己根据安装的SDK配置吧。
打开一个命令窗口:
切换到你的文件所在的文件夹下。如下图:
当你看到在和HelloWorld.mxml同一目录下会生成一个HelloWorld.swf文件,这就是我们说的swf文件。它可以在Adobe Flash Player中运行。双击这个文件就可以看到一个如下图的效果。
也可以在命令窗口直接用命令:D:\flex\HelloWorld.swf.也会运行的。同时注意要保证你的电脑上已经安装了Adobe Flash Player播放器。
上面我说过,mxml会产生一个中间文件as,我们怎么没看到呢?我们知道我们写的jsp的页面,而我们用到是class文件,把中间那一步的文件并没有放到我们的工程中,这个其实也一样,它只生成了swf文件,而没有看见as文件,如果我们想看到怎么办呢?
这时我们就得用这个命令执行:mxmlc -keep-generated-actionscript HelloWorld.mxml
会在Hello.mxml文件的同目录下产生一个generated的文件夹,里面就是mxml文件编译时产生的中间文件as.
generated文件下就是as中间码:
希望大家看后对你以后学习和理解Flex有所帮助。
分享到:
相关推荐
【Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程】 Flex是一种基于Adobe Flash技术的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建交互式、响应式的用户界面,通常与后端数据服务配合...
总结来说,这个“flex入门打包教程”旨在引导初学者快速进入Flex开发的世界,从环境搭建开始,逐步掌握Flex与Java的整合、基本编程概念以及实际应用案例。通过这些教程,你可以建立起对Flex开发的全面认识,并有能力...
【Flex入门学习与配置】这篇文章主要讲解了如何配置和学习使用Flex框架,结合Spring和Hibernate进行Web应用开发。Flex是一种用于构建富互联网应用程序(RIA)的前端开发框架,由Adobe公司开发,它允许开发者创建交互...
Flex入门实例教程是一份非常适合初学者的资源,它旨在引导用户逐步掌握Adobe Flex技术。Flex是一种用于构建富互联网应用程序(RIA)的开放源代码框架,主要用于创建运行在浏览器中的交互式、高性能的用户界面。本...
本入门教材《Flex 入门教材.pdf》旨在帮助初学者快速掌握Flex的基础知识和应用技巧。 一、Flex简介 Flex提供了一整套开发工具,包括Flex Builder(现已更名为Flash Builder),它基于Eclipse平台,为开发者提供了...
flex大纲 对于初接触flex的学生来说 可帮助他尽快的了解flex
《Flex入门》及ActionScript 3.0 语言是针对Adobe Flex这一开发框架的基础学习资料,旨在帮助初学者快速掌握Flex应用开发的核心概念和技术。Flex是用于构建富互联网应用程序(RIA)的开源框架,它结合了强大的MXML...
《Flex入门培训》这部分内容通常会涵盖以下关键知识点: 1. **Flex架构与环境**:介绍Flex SDK(软件开发工具包)和Flex Builder(现称为Flash Builder),以及如何安装和配置这些工具。 2. **MXML和ActionScript*...
Java Flex入门实例主要涉及到的是Java和Adobe Flex的集成开发,这是一种常见的富互联网应用程序(Rich Internet Application,RIA)开发模式。Flex是基于ActionScript和Flash Player技术的开发框架,用于构建具有...
这个大礼包包含两本非常重要的学习资料:《Flex cookbook(中文版)》和《Flex入门到实践》。这两本书将帮助初学者深入理解Flex的原理与实践应用。 《Flex入门到实践》这本书可能涵盖了以下知识点: 1. **Flex基础**...
Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA,...通过学习和实践这份"Flex入门教学材料",你将能够掌握Flex的基础知识,逐步成长为一名熟练的Flex开发者。记得不断练习和探索,才能更好地掌握Flex的精髓。
本篇文章将深入探讨Flex的基本概念、数据绑定、HTTPService的使用以及创建自定义事件,这些都是Flex入门阶段需要掌握的关键知识点。 首先,让我们来了解一下Flex的数据绑定。在Flex中,数据绑定是一种强大的机制,...
Flex教程是针对Adobe Flex这一开发框架的学习资源,尤其适合初学者快速入门。Flex是一个开源的、基于MXML和ActionScript的框架,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它允许开发者创建...
这个“Flex入门到精通集合包”是一个全面的学习资源,涵盖了从基础到进阶的全套教程,旨在帮助学习者快速掌握Flex开发技能。 一、Flex基础知识 1. Flex框架:Flex框架包括Flex SDK和Flex Builder。SDK是免费的开发...
### Flex入门系列文档知识点概述 #### 一、Flex基础概念及环境配置 ##### 1.1 Flex SDK - **定义**:类似于Java的JDK,是Flex开发的基础环境,主要包含版本有4.1、4.5及4.5.1。 - **组成**:包含了一套AIR SDK以及...
Flex入门学习文档主要介绍了如何搭建Flex开发环境以及与Java后台的简单交互,这对于初学者来说是进入Flex开发领域的基础步骤。Flex是一种用于构建富互联网应用程序(RIA)的技术,它允许开发者创建具有动态用户界面...
标题:Flex入门介绍 描述与知识点: Flex是一个强大的开源框架,用于构建高性能的富互联网应用(RIA)。由Adobe系统开发,Flex使用MXML和ActionScript编程语言,允许开发者创建复杂且交互性强的应用程序,这些应用...