第22章 Flex应用程序开发 在本章以前的章节中,花了很大的精力来讲解组件、数据等内容,毕竟大部分的开发者使用Flex都是受因为其强大的表示层功能吸引。本章在前面的基础上,进一步介绍Flex应用程序的开发。与前面的章节相比,本章将从整体上把握如何开发Flex应用,侧重于设计模式问题、安全、性能优化等。

Slides:



Advertisements
Similar presentations
高中新课程思想政治(必 修 1 、 2 )的教学体会 北京师大二附中 李文燕 2008 年西城新课程教师培训的讲稿.
Advertisements

《饲料分析与质量检测技术》 说课 主讲教师:管建慧. 课程名称: 《饲料分析与饲料质量检测技术 》 课程编码:
面向对象与设计模式 RD 常见编程范式介绍  并行编程 - Process-orientedProcess-oriented  组件编程 - Component-basedComponent-based  事件驱动 - Service-oriented,Time-drivenService-orientedTime-driven.
第 5 章 Flash AS3.0 游戏基础. 本章知识地图 5.1 ActionScript3.0 概述 2007 年 4 月,支持 ActionScript3.0 的 Adobe Flash CS3 正式版发布,随着 不断的升级和扩展, ActionScript 的功能越来越强大。 ActionScript3.0.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
4 第 4 章 网页的布局 设计站点地图,有助于突出网站的主题,确定网 站的内容。而对于每一个网页来说,最重要的除了网 页的内容以外,还有就是网页的风格和布局。一个格 局凌乱的网页,内容再精彩,也不能说是一个好网页 。
2009/12/211 商務科技管理系 實 務 專 題 報 告 辦桌非難事 學生: 施雅雯 ( ) 張敬芝 ( ) 葉明臻 ( ) 黃怡琅 ( )
今天我们会去一个充满神秘色彩的地方 你知道是哪吗.
领舞者:聋人邰丽华 观看了聋人表演的《千手观音》,你想说点什么呢?.
我的学习成果展示 德惠市第三中学 姜成立.
HE Fixed Assets Manage System
成语乐园 成语乐园 执教老师:李道梅.
詹天佑.
北师大版义务教育课程标准实验教科书 七年级上册讲义 第17课 先进的科学技术.
全球的气压带与风带 山东齐河县第一中学 乔向军
立體四子棋 研究成員:謝旻諺、 鄭家鈞 指導老師:林屏森老師.
“三步式”网络学习法 《探究与发现》数学网络学习平台介绍
空間向量 朱泰吉 蔡宇翔 張力夫 莊孟霏.
初步认识Flash CS6 主讲:邓红辉 AE视频:
animation-Introduction
初中思想品德 规范的教学设计与案例分析.
第八章 网络课程的设计与开发.
MVC Servlet与MVC设计模式.
三創產業學程 學群主持人:袁國榮召集人.
台灣廢物物處理機構 邱騰煥 8 號.
大学计算机.
郑州市惠济区第六中学 网站推介 姜茂方 2015年1月10日.
財團法人技專校院入學測驗中心 資訊處黃建銘
一、认识flash.
小学语文第三册第八课 难忘的一天 生字 图片 朗读 词语 写字 音乐.
小学语文第三册第八课 难忘的一天 绿色圃中小学教育网 生字 图片 朗读 词语 写字 音乐.
互联网时代班主任的挑战 万玮 2014年9月20日.
《体育与健康》说课稿 课题:新兴体育舞蹈 —踢踏舞教学 北师大泉州附中 陈玉慈.
项目一 Flash CS5 工具使用技巧 授课人:叶爱英
第四章 多彩的光 第六节 眼睛与视力矫正.
影格的類型及相關操作 新增影格 播放磁頭與影格的關係 選取影格 移除影格 影格的類型 設定關鍵影格 設定空白關鍵影格 清除關鍵影格.
第15章 使用定制组件 使用定制组件是在Flex提供的组件基础上创建自定义的组件模块。虽然Flex内置了大量的组件以满足不同应用的需求,但是这些组件只是用户界面中较为常见的元素。在大型的或者复杂的应用中,往往需要将这些基本元素组合,组成新的模块单元使用。对于这种情况,Flex提供了自定义组件的功能。本章主要介绍如何使用Flex编程语言创建自定义组件。
基于BS结构的ATLAS sTGC FEB 器件管理数据库的设计与实现 报告人:耿天如
97學年度嘉義市教師資訊應用評鑑研習(南興國中)
鄉村尋根-農具篇.
第8章 应用多媒体 随着多媒体技术的发展,网页已有原先单一的图片、 文字内容发展为多种媒体想集合的表现形式。在网页 中应用多媒体技术,如音频、视频、Flash动画等内 容,取消了之前版本中不常用到的插入Flash按钮及 Flash文字功能。可以增强网页的表现效果,使网页 更生动,激发访问者兴趣。
在PowerPoint嵌入 YouTube影片播放器 (Embed YouTube Player in PowerPoint Slides)
如何在PowerPoint 2007中插入flash动画
第10章 声音和视频 本章主要内容: 使用声音 使用视频.
主讲:陶建平 华中科技大学网络与计算中心
网页设计与制作 Dreamweaver CS6 标准教程
第1章 Flash入门 本章主要内容: 初识Flash Flash CS5的工作环境 文档的基本操作 影片的测试和发布.
第11章 系统结构与包模型模型.
第2章 初识Dreamweaver CS4 Adobe Dreamweaver CS4是建立Web站点和应用程序的 专业工具。它将可视布局工具、应用程序开发功能和 代码编辑支持组合在一起,其功能强大,使得各个层 次的开发人员和设计人员都能够快速创建界面吸引人 的基于标准的网站和应用程序。从对基于CSS的设计.
PPT课件设计与制作 —— 精致 清晰 简约 生动.
臺中市政府 「WEB版公文製作系統」 承辦人作業.
Flex.
小朋友们好! 场景一:线索人物孙悟空自我介绍,配合自动语音。.
Chapter 1 了解Flash編輯架構.
第 6 章 元件、實體與 元件庫.
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
项目一 认识设计环境 《FLASH动画设计》精品课程组.
网页设计三合一教程 主讲教师 2019/6/2.
傻瓜化的动画制作软件Swish.
第 14 章 濾鏡特效─ 迅速移動的飛碟.
专题网站的设计与制作 西北师范大学教育技术与传播学院 常薇.
ActionScript 綜合應用 (二) ─打蟑螂遊戲
6-5 元件編輯的環境 將圖形轉換為元件後, 想要編輯元件的內容, 必須切換到該元件的編輯模式下才能進行, 元件的編輯模式有下列 3 種, 以下分別為您介紹。
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
PureMVC 孙晓申.
¶幻灯片应用基础教程 幻灯片应用基础教程.
第 20 章 ActionScript 指令與語法.
指數、對數函數 數101乙 周文翔 朱哲明 張良聿.
李商隐诗两首 锦 瑟 马 嵬 夕阳无限好,只是尽黄昏。.
Presentation transcript:

第22章 Flex应用程序开发 在本章以前的章节中,花了很大的精力来讲解组件、数据等内容,毕竟大部分的开发者使用Flex都是受因为其强大的表示层功能吸引。本章在前面的基础上,进一步介绍Flex应用程序的开发。与前面的章节相比,本章将从整体上把握如何开发Flex应用,侧重于设计模式问题、安全、性能优化等。

22.1 设计模式 在面向对象的程序设计中,总是反复的提到设计模式。毫无疑问,设计模式对于开发者还是程序,乃至整个应用,都是多赢的。设计模式实现了代码复用,是软件工程的基础。本节简要的设计模式的基础。

22.1.1 什么是设计模式 人们在生活中,模式是无处不在的。例如高考前,总要做无数经典的题目,但是考试中不会有这样的题目出现。不过,这些经典的题目可以对我们做题进行启发,从而达到举一反三、融会贯通的作用。设计模式不是解决问题的方法,而是经典的解决问题的套路。模式是不能直接套用的,具逦侍饩咛宸治觥I杓颇J骄褪蔷涞纳杓品椒ā 目前,设计模式被定义为一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

22.1.2 了解MVC模式 对于Web应用而言,用户对应用界面的接受程度直接关乎应用的成败。人人都喜欢使用漂亮、互动性好的界面。随着Web应用的深入和广泛的使用,用户对于界面的需求越来越高。越来越多的用户要求“定制界面”,实际上只是图形界面的变更,系统的功能仍未改变。如何做到在不改变系统模型、功能的基础上,根据不同的需求获得不同的界面呢? 从系统角度看,上述的问题可以进一步转化为在满足对界面要求的同时,如何使软件的计算模型独立于界面的构成。MVC的出现很好的解决了这个问题。 模型-视图-控制(MVC:Model-View-Controller)就一种交互界面的结构组织模型。也是目前广泛流行的软件设计模式。MVC模式包含3个元素:视图(view)、模型(Model)、控制器(Controller)。

22.2 开发前的准备 经过漫长的学习,终于可以开发自己的Flex应用程序了。开发可以看作简单的工作,最终还是归结为编码。但是,从整体上看,开发应用的流程是个复杂的过程,要经过需求分析、建模、编码、测试等等流程。要想开发出好的应用,需要进行充足的准备工作、精确的设计、规范的代码。 1.需求分析:整个应用要实现什么样的功能,每个功能的运行流程等。Flex本身更侧重于用户界面的开发,所以对于界面背后的业务逻辑,仅仅依靠ActionScript是不实际的。 2.软件设计:软件设计建立在需求分析的基础上。在需求分析中,已经解决了应用要实现什么功能,每个功能的流程等。软件设计的任务就是讲这些功能合理在组合,规划。例如整个界面的划分。每个页面实现什么功能,每个功能采用什么样的方式实现。 3.编写代码:根据软件设计的框架编写界面、业务逻辑、数据库访问等代码。对应应开发人员来说,编写代码相对于前面的需求分析和软件设计简单了很多。但是要注意的是,养成良好的编码习惯,编写出稳定、安全、高效的代码。

22.3 模块化开发 在前面讲述创建自定义组件时,曾经讲过将复杂的应用分为多个模块,然后将模块加载进去,其中的模块讲的是使用Flex Builder创建的Flex Component。使用这种方式创建的模块在加载后是与整个应用文件一起编译。如果模块过大,编译的文件也会增大,于是打开的速度就慢了。为了方便与其他模块区分,这种模块简称为MXML模块。 Flex中还有另外一种模块,与上面的模块不同。该模块在MXML以<mx:Module>作为开始和结束的标记,而不是使用组件标签。这种模块最终需要编译为SWF文件。与Flex 1.5中的load方式不同,它不能直接运行,但是可以在应用中动态载入,即在需要的时候加载,不需要的时候释放。在这里简称为SWF模块。SWF模块的创建相对于MXML模块要复杂些。需要将编写好的MXML文件编译成SWF文件,但其与MXML模块相比,它还是具有一定的优势。 减少初始下载SWF文件的大小。 更小的SWF文件就带来了更短的载入时间。

22.4 使用共享对象 在Web应用中,运行时有些数据需要暂存到本地磁盘中,可以被整个应用获取,也可以在下一次打开应用时获取。Flex中,可以使用共享对象(Shared Object)来实现这样的功能。共享对象有点类似浏览器的cookies,可以为应用暂存一些数据。它与cookies相比,具有如下的优势。 它是不会过期的。 共享的内容,可以由用户指定,可以是字符,可以是数组。 存储位置也可以由应用定义,但必须在用户目录下。 默认情况下,可以使用的存储空间为100K,该数值可以利用Flash Player中的Global Storage Settings panel设定。 只作为本地数据,不会被传输到服务端。该共享对象可以被同一域中的Flex应用共享。

22.4.1 SharedObject类 SharedObject类的常用属性如表所示。 clear():清除共享对象数据。 flush():将共享对象写入客户端的文件中。 getLocal():该方法用来获取共享对象,其接口如下所示: public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

22.4.2 创建共享对象 创建共享对象不能使用MXML,只能在ActionScript中创建。创建共享对象时使用getLocal()方法,该方法接口如下所示,其中pathName为可选项。 SharedObject.getLocal("objectName" [, pathname]): SharedObject 下面的例子创建了一个共享对象myShare。 public var myShare:SharedObject; myShare = SharedObject.getLocal("myData"); 在创建了共享对象后,需要为共享对象进行赋值,格式如下所示: sharedObject_name.data.variable = value; 例如下面的代码为userName赋值。 myShare.data.userName = “silence”;

22.4.3 删除共享对象 删除共享对象时,需要使用ShareObject()类中的clear()方法。 mySO.clear();

22.4.4 使用共享对象 共享对象常用来保存应用的一些数据,如用户名、密码。下面的例子在用户登录中使用共享对象,如图所示。当用户登录时选择记录用户名时,则创建共享对象记录用户名和密码。在本地次方上创建了myData.sol,如图所示。登录后显示欢迎界面,如图所示。当用户再次从本机登录时,程序自动读取共享变量的内容进行登录,并在欢迎界面下方显示“您已经自动登录”字样,如图所示。

22.5 优化Flex应用程序 性能对于应用来说,是非常关键的因素。良好的编程习惯、合理的使用组件都能减少应用在性能上的损失,谁也不想使用花了3、5分钟才能打开的页面。在编写Flex应用中,应尽可能避免那些影响性能、效率的因素。本节主要讨论如何提高应用的性能即效率,如缩短打开页面的时间等。

22.5.1 合理使用布局 Flex程序最初始状态还是由各种各样的组件组合而成的。无论怎样嵌套,所有的组件都放置于容器内。哪个组件位于哪个位置有组件布局负责。所以优化应用程序的第一步是合理的使用布局。在使用布局时,应注意以下几点: 1.避免多层嵌套容器 2.使用绝对定位和缩放 3.导航式容器推迟实例化

22.5.2 使用动态样式 在初始化过程中尽早设定样式,可以避免不必要的样式通知和查找。在使用样式时,第一次为对象设定样式不要用setStyle()方法,应使用<mx:Style>标签中,或作为MXML标签的一个属性。通过外部CSS样式表,或作为全局样式来设定。避免对setStyle()方法的过度使用,或者不必要的使用,都会影响效率。仅在需要改变现有对象的样式时使用setStyle()即可。 某些应用程序在应用过程,或对象实例化过程中必须调用setStyle()方法时,可在实例化阶段较早调用setStyle()方法。即从组件或应用程序的initialize事件开始设定样式,而不是从creationComplete,或其他事件开始设定样式。

22.5.3 减少SWF的体积 MXML文件在显示的时候总是要编译成swf文件在Flash Player中显示的,查看MXML页面也就是将该页面的SWF文件下载到本地然后打开观看。用户打开页面的速度由以下2个因素决定。 网络速度 SWF的大小 网络的速度因不同的地域而不同,但无论对于多少的带宽,越小的SWF体积越好。减小SWF体积可以从以下几个方面入手: 在编译MXML文件的时候使用-optimize编译参数。 禁止调试,可以减去一些专门记录调试环境的数据。 避免引入一些不必要的包和类,不要将包内所有的类都添加,如: import mx.controls.* 减少内置资源的加载,例如使用[embeded]。可以使用外部文件,在运行时载入,而不是在编译时载入。

22.6 应用跨域访问 安全对于应用来说是非常重要的。Flex应用的运行是依靠Flash Player,可以把Flex应用看作SWF文件,由Flash Player播放。Flex应用文件存放在服务端,当用户浏览器请求查看时,需要把应用文件下载到本地才能查看,类似于许多使用flash开发的网站,在打开时显示“正在加载”或者显示进度条,此时,就是将SWF文件从远程下载到本地。所以Flex应用的安全分为2部分。 客户端:由Flash Player中的沙箱负责。 服务端:验证和授权用户获得服务端资源。 Flash Player允许访问、修改本地的文件,其自动检测应用中是否不符合正常运行的因素,例如无限循环,超出使用硬盘空间,默认情况为100k,当然,可以手动修改。 在考虑客户端安全问题时,主要面对客户端与服务器之间的安全问题,通常包含如下2个方面。 用户是否可以访问该资源,即站点。 用户是否可以下载该资源。