首页 > 其他分享 >flex 简介

flex 简介

时间:2023-04-24 20:07:47浏览次数:37  
标签:flex Flex 简介 Flash Player 应用 ActionScript RIA


RIA技术:

学习Flex必须要了解RIA,RIA:Rich Internet Application,富客户端英特网应用程序,关键是富字。传统的HTML页面元素非常有限,开发人员在页面刷新和相应速度都会受到很大的困扰。随着3G的普及,网络带宽将得到非常大的改善,富互联网应用的时代也越来越近了,人们就能通过浏览器体验到以前C/S架构的桌面级应用。

RIA在页面的表现力和交互力都大大超过 了传统的HTML页面;

富客户端技术的实现主要有:

Ajax:Google最先使用,是现在用的最广泛的RIC技术;

Flex:Adobe公司产品,编译为swf文件运行;

JavaFX:sun公司规范,前途未知;

其他:Silverlight,微软已经看到了RIA市场的潜力,故而有了Silverlight,Silverlight从本质来说,是一种WPF应用程序,其界面使用XAML描述,后端可以用任何一种.NET兼容的语言开发;

从开发角度来说,现在的用户越来越重视界面的美化,即给人的视觉效果,所以说在以后我认为RIA会有很好的应用;



Flex简介:

Flash Player最早为Macromedia公司产品,作为因特网页的矢量动画平台,早期的Flash Player主要是面向娱乐功能和多媒体应用。其后推出了ActionScript语言做为补充,通过ActionScript可以对Flash Player中的动画和控件进行更为复杂的逻辑控制。2005年12月Adobe收购Macromedia公司,由此带了的巨大变革,Adobe将其打造为新一代的RIA,同时将此版本命名为Flex。

如果经常使用自己电脑的人会发现,我们在使用电脑的时候访问的很多网页都要求安装这个软件,否则不能正常浏览;

Flex是一套Adobe的RIA技术的集合,Flex应用在多层架构中做为表示层。Flex包括:Flex SDK、Flex Builder、Flash Player、LiveCycle Data Service、ActionScript、MXML。



Flex编程与Flash制作:

虽然对于Flex应用和多媒体应用都运行于Flash Player这同一平台,但对于动画、影音等多媒体应用仍然的是美工或媒体制作者的工作,而Flex应用编程则完全是程序员的工作,可以说是两套面向不同需求的应用开发。在Flex的GUI编程中提供了和Java、.NET、VB、Delphi中相类似UI控件,诸如:输入框、按钮、树、面板、表格、菜单、日期、进度条、各类选择框等,并与这些传统语言相类似的界面控制机制,诸如:消息、触发动作(Action)等。一个熟悉Java编程的开发者,很容易过渡到Flex的开发,ActionScript语言本身、甚至Flex中提供的很多类库都和Java相类似。从另外一个角度来看,一个Flex开发者完全不懂Flash制作也没有任何问题,Flex应用仅仅是运行在Flash Player上而已。当然做为Adobe的统一解决方案,Flex开发并不排斥对影音和动画等媒体的操作,实际上两者可以完美的结合。

通俗的说Flex主要由程序员使用,侧重于界面表单控件显示与事件处理编程,Flash为美工使用,侧重于动画效果。它们的相同点是都可以使用ActionScript语言,并且编译后的文件都为swf格式的flash文件。所以从这点上看也可以看出这存在着Flex技术的一个弊端,即浏览器或者说平台要运行Flex的话,就必须要借助于它的插件,或者单独的Flash播放器,而Ajax则本身利用的是浏览器的组件,而不需要安装插件;

Flex开发的两种语言:MXML和ActionScript;



深入Flex组件:

1、Flex SDK:

Flex SDK就如同Java的JDK一样,为开发人员提供了一个免费的开发套件,同时这也是一个开源的项目,开发者可以通过Flex SDK开发完整的RIA应用;



2、ActionScript:

类似于Java语言,文件后缀为as(源文件,编译后为swf)。Adobe 2007年3月27日发布了Flash 9.0,Flash 9.0支持全新脚本语言ActionScript 3.0,ActionScript 3.0是Flash/Flex历史上第二次飞跃,从此以后,ActionScript终于被认可为一种“正规的”、“完整的”、“清晰的”面向对象语言。新的ActionScript包含上百个类库,这些类库函盖了图形、算法、矩阵、XML、网络传输等诸多范围,为开发者提供了一个丰富的开发环境基础。



3、MXML:

假如我们要在界面上显示一个文本框,当然用ActionScript语言也能编写实现,但比较复杂,MXML就可以帮我们轻松实现。MXML是一种基于XML用于创建用户界面的功能强大的标记性语言。

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Button id="Button" />

</mx:Application>

编译过程:使用mxmlc命令

实际上,在编译的时候,MXML会转化成ActionScript。

package {

import mx.core.Application;

import mx.controls.Button;

public class Example extends Application {

internal var button:Button;

public function Example( ) {

super( );

button = new Button( );

addChild(button);

} } }

一般我们使用MXML表现各种控件,使用ActionScript编写事件业务处理代码;从这方面说,你可以把MXML理解为html,而ActionScript理解为JavaScript,但本质上MXML会编译为ActionScript,Flex源码只有ActionScript。



4、Flash Player:

运行flash文件,类似JVM,一般浏览器包含。 Adobe Flash Player 10 ActiveX 适用于IE内核的浏览器(如IE、世界之窗浏览器、傲游浏览器等)。使用 ActiveX 技术编写(是IE内核独有的技术) Adobe Flash Player 10 Plugin 适用于非IE内核浏览器(Google 浏览器、Firefox(火狐)、Opera等)。 总之你两个都装上就行了,建议都装。



5、Flex Builder:

编译运行Flex的IDE工具,基于Eclipse开发。内置Flex SDK与Flash Player,4.0命名为Flash Builder。 要收费的,能免费使用60天(悲剧之处)。



6、LiveCycle Data Service:

LiveCycle Data Service的前身叫做Flex Data Service,即:Flex应用的数据服务。LC DS是将RIA应用同企业业务逻辑、J2EE、.Net等企业应用结合在一起的服务器软件。该服务器软件需要部署在应用服务器上,例如 WebSphere、WebLogic、JBoss、Tomcat和JRun等。 最最重要:它是收费的。

LiveCycle是Adobe企业解决方案平台,包含业务流程管理系统(LiveCycle Process Management)、企业版权管理系统(LiveCycle Rights Management)、表单服务(LiveCycle Forms)等12个解决方案组件。LiveCycle Data Service是其中的一个整合RIA应用和J2EE等企业应用的解决方案组件。

功能:

1. 提供RPC服务,即远程过程调用服务:基于HTTP或SOAP协议获取服务器端数据,或者基于AMF格式,通过调用远程对象获取数据和触发服务器端逻辑;

2. 提供数据管理能力:管理客户端和服务器端的数据同步、大规模数据的数据分页以及数据冲突等;

3. 提供消息服务:Web层客户端应用同服务端的消息发布和订阅,基于每个客户端的服务质量服务(QOS)、RTMP通道支持;

4. 提供支持离线应用的能力:例如离线数据缓存及本地消息队列等;

5. 提供企业Flex应用集成所需的代理服务、Web层编译Flex应用能力、支持WSRP接口的门户部署、集群部署、支持Ajax的数据服务、实现Flex RIA应用和Ajax程序交互的Flex-Ajax Bridge、多种服务适配器、服务器端PDF生成等其他各种服务。



7、BlazeDS:

可以理解为是LCDS的子集。客户端运行的flash程序需要调用Server中的java类,借助java类完成数据库访问等功能,通过blazeDS就可以访问调用这些Java类了。

blazeDS是开源免费的,LCDS是付费和闭源的。



8、AMF:

AMF是Action Message Format的缩写,是Adobe公司定义的协议,AMF是LCDS(blazeDS)与前端Flex应用通信的方式之一,BlazeDS和前端通信还可以采用SOAP或HTTP等其它协议。与这些通信方式不同,AMF采用二进制的编码方式,并采用Zlib对消息进行压缩,AMF消息体的大小只有基于XML协议的十分之一。因此在需要大量传输消息的场合,和纯文本协议相比,AMF是一种高效率的传输方式。同时AMF也为开发者提供了一种便利而快速的通信开发接口,它可将前端Flex中本地对象(例如:Object、Array、Date、XML等)传给Server端时自动适配成Server端适当的对象。例如:如果Server端是PHP应用,则AMF会自动转译为PHP的Associative Array;如果Server端是Java应用,则AMF将其转换为Java的数组

标签:flex,Flex,简介,Flash,Player,应用,ActionScript,RIA
From: https://blog.51cto.com/u_16085348/6221792

相关文章

  • A-Buffer简介
    A-Buffer简介A-Buffer是一种图形学(渲染方向)上的用于可见面分析(VisbleSurfaceDetection)的技术。可见面分析最常见的技术有以下三种:Z-Buffer算法(或者叫Depth-Buffer算法)Back-FaceDetection方法,该方法用于剔除不可见(反方向的)面A-Buffer方法,也是本文要介绍的方法。......
  • hibernate.cfg.xml配置文件简介
    1.Hibernate核心配置文件,也即hibernate.cfg.xml,还可以是hibernate.properties格式。包含了数据库连接的相关信息以及映射文件的基本信息。通常情况下,该配置文件默认放在项目的src目录下,当项目发布后,该文件会在项目的WEB-INF/classes路径下。2.常用的模板<?xmlversion="......
  • Photoshop简介
     1.界面介绍导航菜单标题栏工具条浮动面板 2.创建文件导航菜单-文件-新建名称(可以改)宽度、高度(是像素px)背景内容透明(会在背景出现灰白格)白色 3.图层创建新图层-图层浮动面板下方,垃圾桶旁边的折角纸图案就是新建图层新建的图层会在上一个就图层上方(默认)图......
  • SpringSecurity从入门到精通:简介
    SpringSecurity从入门到精通:简介SpringSecurity是Spring家族中的一个安全管理框架,想比另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富一般来说中大型的项目都是使用SpringSecurity来做安全框架,小项目有Shiro的比较多,因为想比与SpringSecurity,Shiro的......
  • 时间序列预测(零)--简介
    时间序列预测可以称得上是一个及其普遍的一个算法问题,解决的方法也比较成熟,你可能第一时间想到的就是AR模型,以及各种自回归模型。然后xgboost似乎也能做时序问题,只是将原有的问题当成回归问题即可,某种意义上可解释性也能够得到一定的满足。再然后就是GRU、LSTM这类循环神经网络,借......
  • 一统天下 flutter - widget Sliver: SliverAppBar/FlexibleSpaceBar - 可展开/收缩的
    源码https://github.com/webabcd/flutter_demo作者webabcd一统天下flutter-widgetSliver:SliverAppBar/FlexibleSpaceBar-可展开/收缩的标题栏(需要在CustomScrollView中使用)示例如下:lib\widget\sliver\sliver_app_bar.dart/**SliverAppBar/FlexibleSpaceBar......
  • Nginx 入门实战(1)--简介及安装
    本文介绍的Nginx为开源版本Nginx,官网地址为:https://nginx.org/en/,如需了解商业版本,可访问商业官网:https://www.nginx-cn.net/;文中所使用到的软件版本:nginx1.22.1、pcre8.43、opnessl1.1.1s、CentOS 7.9.20091、简介nginx[enginex]是一款Http和反向代理服务器、邮件......
  • 01-Httprunner简介、安装及基本使用教程
     https://www.jb51.net/article/237541.htm httprunner是一款面向 HTTP(S) 协议的通用测试框架。只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求,本文给大家介绍Httprunner安装使用教程,感兴趣的朋友一起看看吧......
  • CODEQL使用简介
    codeqlcodeql是一个可以对代码进行分析的引擎,安全人员可以用它作为挖洞的辅助或者直接进行挖掘漏洞,节省进行重复操作的精力下载:解析引擎:https://github.com/github/codeql-cli-binaries/releasesSDK(规则库):https://github.com/github/codeql使用方式简介:1.解压解析引擎,......
  • 消息中间件简介
    消息中间件(MQ)的定义其实并没有标准定义,一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。几个关键词:高效:对于消息的处理处理速度快。可靠:一般消息中间件都会有消息持久化机制和其他......