简单的理解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有所帮助。