FLEX是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FLEX是啥意思相关的知识,希望对你有一定的参考价值。

通俗点 不要百科复制的 看不懂

flex指Adobe Flex,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。

Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器、桌面和操作系统。

虽然只能使用 Flex 框架构建 Flex应用程序,但Adobe Flash Builder™(之前称为 Adobe Flex Builder™)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。

扩展资料:

Flex的优势:

1、界面表现能力强

2、RIA富客户端应用,解决了异步调用,界面无刷新,浏览器兼容性等多项难题

3、对流媒体的支持:Flex是被公认为流媒体技术支持最好的应用

4、平台的可用性:根据ADOBE公司的说法,Flash player在全世界一半的PC机器上安装度为99.8%

5、跨平台:Flash player能够在linux下运行,也可以在手机上运行

6、对底层的可操作性:Flex能够调用底层的东西,比如可以调用摄像头实现视频,而且视频本身就嵌入在Flex应用中,由Flex player直接播放

7、平台的后续运营和发展前景:Flex是由ADOBE公司推出的且开源

8、有充足的学习环境: Flex官方样式配置工具,可以在线配置Flex应用程序各种控件的外观样式,该程序也是用Flex编写的,而且这么漂亮的界面,根本不用做任何图片和美工,都是直接用样式实现即可

9、可以用任何熟悉的WEB编程平台作为后台数据访问层,可以使用 .net,php,jsp,webservice 

10、面向对象的as3编程语言,有着和java非常类似的语言风格,非常适合学java程序员快速入门

参考资料来源:百度百科-flex

参考技术A 其实就是Flash的一种衍生品,它可以用来做传统Flash能做的所有事,但是它除此之外还能做更多Flash做不了的事,例如他可以直接用来做网站,直接用来做各种效果很炫的应用软件。 参考技术B 简单地说,就是用actionScript开发的一个表现层的框架。比较适合于程序员。 参考技术C 就是用Flash语言ActionScript制作包装成了一堆可以直接使用的控件,特效等。
目的就是便于开发者快速开发,可以直接可视化生成界面。
主要用于富客户端的应用
参考技术D 做富客户端应用的主流开发技术,一般用flex做前端页面,java写逻辑层,后面是数据库

[Bindable] 在 actionscript 中是啥意思?

【中文标题】[Bindable] 在 actionscript 中是啥意思?【英文标题】:What does [Bindable] mean in actionscript?[Bindable] 在 actionscript 中是什么意思? 【发布时间】:2011-04-26 22:48:12 【问题描述】:
[Bindable]
/**
* Display output of video device.
*/              
public var videoLocal : Video;

有人知道吗?

【问题讨论】:

【参考方案1】:

[Bindable] 是您可以在 flex ActionScript 代码中使用的多个元标记之一。它可以应用于在任何范围内标记的属性或方法。它不能与静态类成员一起使用。

使用 [Bindable] 元标记的关键是了解使用它时的幕后情况。本质上,使用数据绑定是一种用于添加事件侦听器和调度事件的简写。

[Bindable] 标签有两种基本形式。第一个只是 [Bindable] 后跟一个 var/property 声明。第二个是 [Bindable(event="eventname")] 后跟 var/property 声明、函数/方法声明或 getter/setter 声明的一半。

我将首先解释较长的符号,因为另一个符号建立在相同的概念上,但更简写。

当您使用 [Bindable(event="eventname")] 时,您实际上是在告诉编译器此 var/property/function/method(称为实例成员)是“可用的”用作数据绑定的来源。您还告诉它,当实例成员的值已失效/更改并且需要重新读取时,“eventname”事件将被调度。 在这个更长的形式中,这就是你所做的一切。每当需要在绑定订阅者中更新值时,开发人员负责实际调度“eventname”事件。

使用数据绑定的真正效率在于订阅方面。您将在 MXML 中看到的典型符号是 value="instance.propertyName" 当您使用符号 时,您是在告诉编译器执行以下操作:

    创建一个事件监听器,监听在可绑定元标记中命名的事件 在该事件侦听器中重新读取 instance.propertyName 并更新此值

如果您使用较短的形式 [Bindable],并且在属性/var 之前添加标记,编译器会填充空白并添加一些额外的功能以使属性可绑定。本质上,您是在告诉编译器“添加使该属性可绑定所需的事件和方法” 现在思考编译器将在幕后做什么的方法是这样的。

    制作你的 var 的私有版本 创建一个“事件”来触发绑定 使用原始 var 的范围和名称创建一个 getter 函数,该函数在调用时返回该 var 的私有版本。 使用原始 var 的范围和名称创建一个 setter 函数,在调用并调度触发事件时设置 var 的私有版本。

本质上,编译器会为您完成大部分工作。

    [Bindable]
    public var xyz

等价于

    private var _xyz:String;

    [Bindable(event="updateXYZValue")]
    public function get xyz():String
        return _xyz;
    

    public function set xyz(newxyz:String):void
        _xyz = newxyz;
        dispatchEvent(new Event("updateXYZValue"));
    

这些中唯一的功能差异是在第一个实例中;

    您不知道将被调度以触发绑定的事件的名称 没有办法更新基础值触发数据绑定

第二个示例还演示了 [Bindable] 元标记的一种特殊情况。也就是说,当您将它应用于为相同变量名称定义的 getter/setter 对时,您只需将其应用于一个或另一个,它将同时应用于两者。通常你应该在 getter 上设置它。

您可以在函数/方法上使用任何一种表示法,但是如果您未指定事件,则永远不会触发绑定,因此如果您尝试绑定到函数,则应始终指定事件。也可以通过堆叠标签来指定多个触发事件。例如。

    [Bindable(event="metaDataChanged")]
    [Bindable(event="metaObjectUpdated")]
    public function readMyMetaData():MetaDataObject
        var myMetaDataObject:MetaDataObject;
            .
            .
            .

        return myMetaDataObject;
    

这假设你的班级在其他地方会在你想触发绑定时调度这个 metaDataChanged 事件或 metaObjectUpdated 事件。

还请注意,使用这种表示法,您可以将任何实例成员的绑定绑定到该实例将分派的任何事件。即使是您自己不会生成的继承事件,例如 FrameEnter、OnChange 等...

数据绑定也可以在运行时设置和销毁。如果您对此感兴趣,请查看 mx.binding.utils 类。

【讨论】:

查看米海的回答below进行双向绑定【参考方案2】:

作为 Justin 所说的补充,您实际上可以在 Flex 中使用 @ 字符两种方式进行数据绑定。这是一个例子:

<s:TextInput id="txt1" text="@txt2.text" />

有关启用源代码的工作示例,您可以查看我不久前写的这篇文章:

Two-ways data binding in Flex

【讨论】:

【参考方案3】:

它用于与 Flex 的数据绑定,您可以在此处阅读更多信息

http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_2.html

创建属性以用作数据绑定的源

当您创建一个属性时,您 想用作数据源 绑定表达式,Flex可以 自动复制的值 源属性到任何目的地 属性当源属性 变化。向 Flex 发出信号以执行 副本,您必须使用 [Bindable] 用于注册属性的数据标签 弹性。

【讨论】:

没有flex如何做类似的工作? @ollydbg 我在我对这个问题的回答的底部简要提到了你的评论/问题的答案。简而言之,不使用 mxml,您可以使用 mx.binding.utils 包直接在 actionscript 中创建和修改绑定。

以上是关于FLEX是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

在flex中xmlns="*"是啥意思

css中display:-moz-box;是啥意思

[Bindable] 在 actionscript 中是啥意思?

对于 CSS 属性,“规范顺序”是啥意思?

css3中的display:-moz-box是啥意思?是火狐中的啥样式?

flex: 1到底是啥