浏览 7499 次
锁定老帖子 主题:Flex入门
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-09
简单的理解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文件。打开记事本写入下面对代码。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="[url]http://www.adobe.com/2006/mxml[/url]" layout="absolute"> <mx:Label text="Hello World" /> </mx:Application> 然后保存为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有所帮助。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |