软件也能播放--MM的展现层解决方案:Flex(1)

原创 2003年11月29日 23:06:00

MXML,Macromedia Flex 标记语言简介<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

Christophe Coenraets, Macromedia Flex 专员

 

[原作]http://www.macromedia.com/devnet/flex/articles/paradigm.html

[翻译]samhoosamhoophone@yahoo.com

[注]转载请保持全文完整

 

 

Macromedia Flex(开发代号为 Royale)是一个展现服务器,开发者可以用它来开发新一代的“复杂Internet应用”(RIAs - Rich Internet Applications)。复杂Internet应用融合了桌面应用的可用性和web应用的易于管理的优点。

 

Flex是一个在J2EE应用服务器或servlet容器安装的展现服务器。它拥有丰富的用户界面组件、用于排布这些组件的基于XML的标记语言,以及可以处理用户交互的面向对象编程语言。这些技术的给我们带来的是:使用Flash播放器渲染复杂Internet应用,使用工业标准和开发者熟悉的方式进行开发。

 

本文将专注于Flex语言的关键部分。

 

为了运行本文中提到的代码,你可能需要加入Flex的Beta测试。Flex运行于象Macromedia JRun, IBM Websphere, BEA WebLogic, or Apache Tomcat 这样的J2EE应用服务器之上。Flex未来将支持Microsoft .NET服务器。

 

 

Flex 语言简介

 

由于标记语言和面向对象程序设计语言广泛应用,因此,基于这两项技术的Flex语言也将从中获益。

 

标记语言是成功的,排布用户界面也相对容易。MXML,由Flex引入的、基于XML的标记语言,将延续其成功。和HTML很象,你可以用MXML来排布应用的用户界面。同为基于XML的标记语言,MXML比HTML有更强的结构,更少的语法歧义。比起HTML,MXML还引入了更丰富的标签集。如:DataGrid,Tree,TabNavigator,Accordion和Menu,这些都是标准标签集中的一部分。你还可以扩展MXML标签,创建自己的组件。此外,二者最大的区别是,MXML定义的用户界面是用Flash播放器运行的,相对传统的基于HTML、页面为中心的web应用而言,这将更具吸引力。

 

除了排布可视组件,还可以用MXML来定义应用中其他重要方面,如,可以把应用定义为一个web服务的客户,或是在应用中开发动画,用于提示用户进度。

 

但是,标记语言提供的编程逻辑仍难以满足用户交互的需求。在Flex中,可以用ActionScript编程语言来编写事件监听器来满足此种需求。ActionScript是一种基于ECMA-262标准的、强类型的面向对象语言,和其他编程语言——java和C#很相似,因此也很易于上手。

 

总而言之,当编写一个Flex的应用时,需要用MXML来设置用户界面,并用ActionScript来编写响应用户交互的逻辑。

 

作为一个开发者,你可以根据自己的喜好,用自己所熟悉的IDE(比如Eclipes或Intellij)手工编写MXML,也可以使用Flex支持的“所见即所得”开发环境(目前开发代号为Brady)。即使你选择手工编写MXML,仍可使用Flex提供的XML schema,在IDE中为你提供代码提示(code hinting)和代码自动填充(code completion)的功能.

 

下面例子是一个名为HelloWord.mxml的简单Flex应用的源代码。该应用程序有两个TextInput组件,当点击Copy时,source TextInput的内容就会显示在destination TextInput域中。以下例子显示如何用MXML和ActionScript来创建应用:用MXML定义用户界面,再用ActionScript为Button组件的事件监听器编写拷贝逻辑。

 

<?xml version="1.0" encoding="iso-8859-1"?>

 

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">

 

    <mx:TextInput id="source" width="100"/>

    <mx:Button label="Copy" click="destination.text=source.text"/>

    <mx:TextInput id="destination" width="100"/>

 

</mx:Application>

 

1.HelloWorld程序中将source TextInput的文本拷贝到destination TextInput。

 

<待续>

软件也能播放--MM的展现层解决方案:Flex(2)

Flex开发与部署模型 要开发并部署这个应用,一般要经过以下步骤:1.      用你熟悉的IDE或Flex的“所见即所得”开发工具编写HelloWold.mxml文件。2.      把该文件部署到...
  • samhoophone
  • samhoophone
  • 2003年11月29日 23:01
  • 906

软件也能播放--MM的展现层解决方案:Flex(3)

  定义自己的组件 在Flex中,你可以从头开始,或通过扩展Flex组件库中已有的组件,来创建自己的组件。创建组件就象创建一个应用一样:用MXML排布用户界面,用ActionScript编写用界面逻辑...
  • samhoophone
  • samhoophone
  • 2003年11月29日 23:01
  • 692

软件也能播放--MM的展现层解决方案:Flex(4)

 数据访问 Macromedia  Flex为面向服务器架构(SOA – service-oriented architecture)而开发。在这一模型中,应用通过与分散在不同地方的服务进行交互,来完...
  • samhoophone
  • samhoophone
  • 2003年12月02日 10:05
  • 748

Flex中的CSS: (9)可继承/不可继承样式的定义 以及Flex中的实现方法 1

样式最终将作用在组件上,从效率化考虑,每类组件内部持有属于自己的全部样式信息,进一步分为可继承样式和不可继承样式。 可以从UIComponent的源代码中找到如下定义: private var _...
  • tiangej
  • tiangej
  • 2012年06月27日 23:26
  • 858

App架构设计经验谈:展示层的设计

三层架构中,数据层和业务层都已经做过了简单的分享,最后,就剩下展示层了。本篇就给各位分享下我在展示层设计方面的一些经验心得。 展示层是三层架构中最复杂的一层了,需要考虑的包括但不限于界面布局、屏幕适...
  • lz0426001
  • lz0426001
  • 2016年02月23日 10:54
  • 496

flex 播放mp3文件

     在flex中播放MP3文件时可以使用flash.media.Sound类和flash.media.SoundChannel。在调用Sound类的play方法时会返回一个SoundChanne...
  • qing_feixiang
  • qing_feixiang
  • 2011年03月04日 23:22
  • 1672

flex 接收播放rtmp视频 接收播放rtmfp视频 接收fms视频

http://ns.adobe.com/mxml/2009"       xmlns:s="library://ns.adobe.com/flex/spark"       xmlns:mx...
  • Bychentufeiyang
  • Bychentufeiyang
  • 2012年08月21日 16:51
  • 3336

深入剖析微软WPF展示层技术

深入剖析微软WPF展示层技术 微软早就已经发表.NET Framework 3.0,整体架构堆栈是在原有的.NETFramework 2.0上,附加4种新技术:革新使用者体验的Windows Pres...
  • wangwl_89
  • wangwl_89
  • 2015年05月11日 12:32
  • 614

Flex开发实例教程-Mp3播放器代码demo分享

原文:Flex开发实例教程-Mp3播放器代码demo分享 源代码下载地址:http://www.zuidaima.com/share/1835085544524800.htm 本例中的MP3播...
  • yaerfeng
  • yaerfeng
  • 2016年09月01日 09:55
  • 1031

【转载】flex:1;详解

原文地址:https://segmentfault.com/q/1010000004080910/a-1020000004121373 仅供参考! 首先明确一点是, flex 是 flex...
  • SUNyyyB
  • SUNyyyB
  • 2017年03月28日 11:17
  • 4020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件也能播放--MM的展现层解决方案:Flex(1)
举报原因:
原因补充:

(最多只允许输入30个字)