当前位置: 首页 > 编程日记 > 正文

Flex编码过程

Flex编码过程

当我们开发一个Flex程序,我们重复其他类型网络程序的过程,例如HTML,JSP,ASP和CFML。
创建一个有用的Flex程序是很容易的:打开我们最喜欢的文本编辑器,例如Flex Builder,输入XML标签,编译成为SWF文件,部署SWF文件,从网络浏览器中请求SWF文件的地址。
与静态的页面或是由JSP,ASP或是CFML创建的HTML模板集合不同,Flex程序中的文本要编译成为SWF文件。Flex程序与一个JSP,ASP或是ColdFusion程序的另一个主要的不同就是Flex的程序逻辑位于客户端的SWF文件中,而JSP,ASP和ColdFusion是模板系统,在这些系统中程序的处理发生在服务器上,而数据是动态的添加到HTML模板中,并在HTML页面中传递给客户。
因为MXML文件是普通的XML文件,所以我们的开发环境有很大的选择。我们可以在简单的文本编辑器,或是专业的XML编辑器,或是支持文本编辑的集成开发环境中进行开发。Flex同时提供了代码调试工具。

从HTML移到Flex
虽然在一些方面类似,开发Flex程序与开发HTML程序有着极大的不同。HTML的代码主要是在页面文件集合中进行编写。真正构成一个程序是单个的HTML页面。每一个页面必须向服务请求并且单个显示。当一个页面被请求时,例如图像等资源文件必须被装入单个页面来使用。在开发过程中,我们编写代码,保存并且在浏览器中显示一个页面。
为了促进重用性,扩展性以及可修改性,Flex程序的代码也可以被包含在多个文件中。然而,Flex将所有的文件编译成为一个SWF文件。
所成程序的文件被编译进SWF文件。然而程序在运行时可以从外部的数据源请求数据。在开发过程中,我们编写代码,保存并且在浏览器中显示整个程序。
虽然Flex的开发与HTML的开发不同,但是我们却可以很容易的通过使用包装(wrapper)将Flex程序与HTML页面进行复合。在这个包装中,我们可以通过使用标准的HTML的<object>和<embed>标签来指定SWF文件的名字。

从HTM模板环境移到Flex
与JSP,ASP和ColdFusion等环境不同,Flex并不是一个模板系统。MXML文件并不是包含服务器端的处理规则来返回装入模板的模板。相反,MXML可以编译成为一个完全的格式化的可以用来处理服务器端处理逻辑的客户端程序,并且可以通过使用自己的客户端逻辑来改变显示内容。
Flex程序并不会在每次用户界面改变或是事件需要处理时返回到服务器端。逻辑表示与服务器端请求与响应逻辑是作为我们程序的SWF文件的一部分在客户端执行的。在Flex中,用户界面的改变发生在客户端,是基于客户端执行代码的。
Flex程序发出HTTP请求与外部的数据服务进行联系,例如网络服务。与服务器的这种交互并不需要我们刷新程序。

从专业Flash移到Flex
开发一个Flex程序与开发在Adobe的Macromedia Flash Professional中的程序也不同,尽管在这两个开发环境中程序都会被编译成为SWF文件。我们可以在文本文件中创建Flex程序,我们可以在简单的文本编辑器中进行创建与编辑,或者是我们可以在更为复杂的开发环境中进行开发,例如Flex Builder。我们可以将我们的程序编译成为SWF文件,然后将程序发布到网络或是程序服务器。
我们在Flash环境中创建一个Flash文档文件,然后在发布到网站之前保存为SWF文件。他通常在HTML页面中被引用。Flash Professional使用例如时间线,动画帧以及在时间组织和控制程序的层等概念。在Flex中,我们在MXML标签中编写一个程序的声明部分,例如用户界面组件,到数据源的连接。在程序中,我们必须在适当的层次上使用合适的标签,但是却没有时间线,帧或是层等外部概念。通过使用MXML标签,我们可以使用内建的行为创建有用的程序。
虽然Flash与Flex的开发模型不同,Flash是一个可以用来创建自定义的组件和我们可以在Flex程序中使用的可视资源的强大的工具。我们可以将在Flash中创建的文件以组件包的形式导出,称之为SWC文件,然后我们在MXML文件中可以以自定义的标签来引用。我们也可以在Flex程序中使用MXML的<mx:Image>和<mx:SWFLoader>标签来导入SWF文件。

使用Flex开发工具
Flex提供了下列的工具来帮助我们在我们的开发过程中测试,调试和调整们的程序。下表描述了Flex的开发工具:
Flex Builder Flex Builder是使用Flex 2 SDK开发程序的集成开发环境。Flex Builder IDE提供了帮助我们开发,设计以及调试Flex程序的工具,包含了集成的编译器与调试器。
Flash 调试播放器 Flash 调试播放器是一个Flash播放器,可以报告运行时错误,包括未声明的变量错误,未捕获的运行时异常以及与操作系统相关的网络错误。我们可以在一个跟踪窗口中查看错误并且可以将错误发送到一个文本文件中。
命令行调试器 
Flex ActionScript调试器可以让我们打开并且调试我们的Flex程序中所用的ActionScript文件。我们可以在Flex Builder中或是从命令行使用调试器。
mxmlc 如果我们要在网络浏览器中或是在Flash播放器中请求SWF文件时,Flex命令编译器mxmlc是相当有用的。通常对于使用Flash调试播放器来调试SWF文件时是有用的。
compc compc编译器可以从MXML组件源文件或是ActionScript组件源文件来编译生成SWC文件。

相关文章:

BufferedWriter

package JBJADV003;import java.io.*;public class BufferedWriterTest { public static void main(String[] args) { try { //创建一个FileWriter 对象 FileWriter fwnew FileWriter("c:\\myDoc\\hello.txt"); //创建一个BufferedWriter 对象 BufferedWriter bwnew…

使用VC内嵌Python实现的一个代码检测工具

最近组内准备整顿代码&#xff0c;领导让我写个简单的python脚本分析代码中注释的行数和无效注释。因为这个需求不是很急&#xff0c;所以我想把简单的事情做复杂点。于是就写了一个用VC内嵌Python&#xff0c;并通过模拟按键和发消息去控制其他软件的工具。&#xff08;转载请…

Python如何实现24个微信大群万人同步转发直播?

作者 | 猪哥66来源 | CSDN博客今天我们来学习微信机器人多群转发做同步图文直播&#xff01;一、背景介绍猪哥一年前在建Python学习群的时候就说过&#xff0c;要邀请企业大佬来学习群做直播。其实文章早就写好了&#xff0c;但是一直没有找到好的转发软件&#xff0c;所以耽搁…

ITSM实施三招[案例]

当前国外成熟的ITSM解决方案的实施成本相对比较高&#xff0c;使一些对成本较敏感的的IT部门&#xff0c;成为ITSM实施的一个真空区。对于国内起步阶段的ITSM&#xff08;IT服务管理&#xff09;实施来说&#xff0c;南航的ITSM实施之路是一个借鉴。 南航it环境 在各大航空公司…

lr手工添加关联函数的步骤:

点击“确定”后&#xff1a; 如何修改已经创建好的关联规则&#xff1a;

新闻内容实现分页

/**//// <summary> /// 新闻内容分页 /// </summary> /// <param name"content">新闻内容</param> /// <param name"extension">扩展名(aspx,html..)</param> /// <returns></returns>pub…

使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow)| CSDN博文精选

作者 | pan_jinquan来源 | CSDN博文精选之前写了一篇博客《使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型&#xff08;TensorFlow&#xff09;》https://panjinquan.blog.csdn.net/article/details/81560537&#xff0c;本博客就是此博客的框架基础上&#xff0c;完…

VC下提前注入进程的一些方法1——远线程不带参数

前些天一直在研究Ring3层的提前注入问题。所谓提前注入&#xff0c;就是在程序代码逻辑还没执行前就注入&#xff0c;这样做一般用于Hook API。&#xff08;转载请指明出处&#xff09;自己写了个demo&#xff0c;在此记下。 我的demo使用了两种注入方式&#xff1a;1 远线程&a…

【转】用示例说明索引数据块中出现热块的场景,并给出解决方案

文章转自&#xff1a;http://www.luocs.com/archives/582.html

VC下提前注入进程的一些方法2——远线程带参数

在前一节中介绍了通过远线程不带参数的方式提前注入进程&#xff0c;现在介绍种远线程携带参数的方法。&#xff08;转载请指明出处&#xff09; 1.2 执行注入的进程需要传信息给被注入进程 因为同样采用的是远线程注入&#xff0c;所以大致的思路是一样的&#xff0c;只是在细…

芬兰开放“线上AI速成班”课程,全球网民均可免费观看

出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;去年&#xff0c;芬兰推出了一个免费的“人工智能线上速成班”项目&#xff0c;目的是向该国民众教授与新技术有关的知识。现在&#xff0c;作为送给全世界的圣诞节礼物&#xff0c;这个项目已面向全球网民开放访问&am…

deepin开通ssh

1、在终端打入下面命令进行安装sudo apt-get install openssh-server2、启用sshservice ssh start 反馈&#xff1a;start: Rejected send message, 1 matched rules; type"method_call", sender":1.56" (uid1000 pid2272 comm"start ssh ") int…

实现等待窗体的几种方式

实现等待窗体的几种方式&#xff1a;下面说明了五种可以实现等待窗体的方式&#xff0c;其中三种给出了代码。准备资料安全访问控件成员为了保证在创建控件的线程上调用控件成员&#xff0c;用下面的方式封装控件的属性、方法、其他自定义成员的访问。如: winWordControl.LoadD…

GitHub宝藏项目标星1.6w+,编程新手有福了

作者 | Rocky0429来源 | Python空间&#xff08;ID: Devtogether&#xff09;特别惭愧的是&#xff0c;虽然我很早就知道 GitHub&#xff0c;但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜&#xff0c;看着这种全是英文的东西难受&#xff0c;不知道该怎么去玩&#xff…

VC下提前注入进程的一些方法3——修改程序入口点

前两节中介绍了通过远线程进行注入的方法。现在换一种方法——修改进程入口点。&#xff08;转载请指明出处&#xff09; 在PE文件中&#xff0c;其中有个字段标识程序入口点位置。我们通过这个字段&#xff0c;到达程序入口点。PE文件的结构我这儿不讨论&#xff08;我会在之后…

如何产生签名applet能让applet能够访问本地资源

2019独角兽企业重金招聘Python工程师标准>>> 如何产生签名applet,以使applet能够访问本地资源? 在jdk1.1中,可以使用javakey命令来产生公钥,私钥,证书和签名的jar文件,详细资料请参考: http://java.sun.com/security/usingJavakey.html而java 2对签名机制做了比较大…

VC提前注入.net软件的方法

在之前几节介绍了各种注入方法&#xff0c;但是这些方法存在一些缺陷——对.net程序注入无效。&#xff08;转载请指明出处&#xff09; 这个可以理解&#xff0c;.net程序的代码不是汇编&#xff0c;而是微软自定义的IL中间语言。.net CLR如同虚拟机&#xff0c;解析并执行这些…

活动推荐:语音和语言技术在自然交互中的实践沙龙

智能语音技术已经渗透进家居生活、车载、金融服务等日常生活场景&#xff0c;在很大程度上解放了人们的双手和眼睛&#xff0c;语音交互成为连接人与信息/服务的新入口。根据IDC预测&#xff0c;国内对话式人工智能市场规模将在2022年达到78亿元。如何提供便捷、高效、高可用的…

JS字符串 window.open() window.opener window.name window对象总结

晚上总结了一下&#xff0c;发上来分享&#xff1a;字符串 window.open() window.opener window.name window对象等的一点总结 http://download1.csdn.net/down3/20070614/14012050509.rar

dedecms /member/reg_new.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 Dedecms会员中心注入漏洞 2. 漏洞触发条件 http://127.0.0.1/dedecms5.5/member/reg_new.php?dopostregbase&amp;step1&amp;mtype%B8%F6%C8%CB&amp;mt…

VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷

工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求。&#xff08;转载请指明出处&#xff09;网上关于方案大致存在两种方案&#xff1a; OpenProcess->GetModuleFileNameOpenProcess->EnumProcessModules->GetModuleFileNameEx我试验了下&#x…

腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?

12 月 19 日&#xff0c;鹅厂腾讯发钱的消息又像往年一样引来了一群柠檬精。除了微信支付团队获得 2 亿元奖金的消息之外&#xff0c;一张腾讯云团队每个员工奖励一部 iPhone 11 Pro 的 H5 页面截图也不断地轰炸着朋友圈。原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 …

分享一个python cookbook的在线教程地址

分享一个python cookbook的在线教程地址&#xff1a;http://python3-cookbook.readthedocs.org/zh_CN/latest/翻译者&#xff1a;熊能转载于:https://blog.51cto.com/verdureorange/1653514

优化系统后VS启动不了问题的一种解决方案

本文只讨论使用第三方软件优化系统后&#xff0c;或者您主动禁止服务后导致VS不能启动的问题。(转载请指明出处) 记得大概是08年时&#xff0c;我使用一些软件对电脑启动项做了优化。后来打开VS2005时&#xff0c;发现VS2005会一直保持在“载入界面”&#xff0c;当时十分懊恼&…

懂数学的程序员能有多吃香?这是我听过最好的答案丨颠覆认知

懂数学的程序员能有多吃香&#xff1f;关于这个问题&#xff0c;我想每个程序员心中都有自己的答案。之前在网上看到一个很有意思的答案说&#xff1a;我是在做了2年的开发之后&#xff0c;才真正认识到数学对于程序员的重要性&#xff0c;开始系统的学习数学。理由无它&#x…

基于OpenCasCade的程序发布问题

基于OpenCasCade二次开发了一个程序&#xff0c;想采用简单的copy的发布&#xff08;部署&#xff09;方式。 但在发布时遇到了很多问题。总结一下。 首先将所有所需的dll拷贝到了执行目录下&#xff0c;然后将程序copy到一台未安装OpenCasCade的机器上运行出错&#xff0c;信…

Unity3D移植到自己的Android程序

用Unity3D开发需要把动画效果移植到现有的APP上面。Unity for Android 比较特殊&#xff0c;Unity for IOS 打包是将XCODE工程直接交给开发者&#xff0c;开发者可以在工程的基础上继续添加新的视图&#xff0c;最后由开发者自行打包生成IPA包&#xff0c;发布程序。而Unity fo…

一种注册表沙箱的思路、实现

从今年4月份开始&#xff0c;我接触到一个沙箱项目。该项目的需求要求我们的沙箱具有良好的安全性和兼容性。当时我们研究了SandBoxIE和360的沙箱&#xff0c;基本确定通过“重定向”思路来实现这款沙箱。而我主要负责研究注册表这块。&#xff08;转载请指明出处&#xff09;在…

PyTorch实现L2和L1正则化的方法 | CSDN博文精选

作者 | pan_jinquan来源 | CSDN博文精选目录1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型&#xff1f;2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2Regularization使用方法4…