220 likes | 526 Views
Flex 介绍. Agenda. 客户端技术 什么是 Flex Flex 的历史 开发语言,工具 Flex 原理 Pros & Cons 学习资源. C/S. Pros : 响应快 Cons : 部署困难 升级困难 安全问题(端口). 带宽加大 客户端性能提高 对用户体验的要求增加. 客户端技术. 对部署能力的需求. SOA/RIA. Rich Internet Application 可以看做是基于 web 的 C/S 架构 Pros : 用户体验好. B/S. Pros : 容易部署 Cons :
E N D
Agenda • 客户端技术 • 什么是Flex • Flex的历史 • 开发语言,工具 • Flex原理 • Pros & Cons • 学习资源
C/S • Pros: • 响应快 • Cons: • 部署困难 • 升级困难 • 安全问题(端口) • 带宽加大 • 客户端性能提高 • 对用户体验的要求增加 客户端技术 • 对部署能力的需求 SOA/RIA • Rich Internet Application • 可以看做是基于web的C/S架构 • Pros: • 用户体验好 B/S • Pros: • 容易部署 • Cons: • 浏览器混杂 • 用户体验差 • 服务器压力大 • 客户端计算资源浪费
客户端技术 Internet 开发模式正在从B/S到C/S回归 浏览器和各种运行时都将发展为虚拟机
客户端技术 Mozilla XUL OpenLaszlo HTML5 Silverlight JavaFX AJAX Flash/Flex Rich Client
什么是Flex -- Flash for Developer • Flex 基于Flash • Flex是为程序员设计的Flash • Flex的开发语言:ActionScript、MXML、CSS。 • 可以把Flex当作Flash • Flash:专注平面动画、广告设计、多媒体处理 • Flex: 一种RIA解决方案,针对企业级网络应用。
Flex 的历史 • 2004 Macromedia Flex1.0、Flex1.5。(Flash 5 ) • 2005 AdobeFlex 2.0、Flex 2.0.1(Flash MX 2004) • 2007 Flex 3.0 • 2009.6.1 Flex 4 SDK beta • 2010.3.22 Flex 4 正式版发布
开发语言- ActionScript • 符合 ECMAScript 3 • 面向对象 • 强类型 • 支持包,名称空间 • 支持Socket • 语法上类似JavaScript,Java,C#的杂合 • 不允许重载 • 单线程(除非存取网络) • 数据服务:xml、JSON 、AMF
开发语言-MXML • Flex markup language • 基于XML的界面描述语言
开发工具 • Flex 3 SDK Mozilla Public License • Flex Builder –收费 • 很多菜单被省掉了 • 没有代码格式化(第三方插件) • Search 功能有bug.
Flex的原理 MXML Action Script SWF Mxml是flex的标记语言,用来描述界面,同Html非常相似,而且mxml更加规范化和标准化。 Mxml最终会被编译器解析为Action Script,然后生成flash的swf文件。 说白了,我们写的代码最终会编译成flash。 Mxml使用 Flex Sdk进行编译。
Pros • 很好的用户体验 • 跨浏览器,跨平台 • 开发者角度 • 易学 • 免费/开源 • 丰富的组件库 • 对多媒体的广泛支持( 76%的视频文件在使用Flash技术构建 如youtube) • 设计师(Flash)、开发人员(Flex)通过ActionScript可以更有效的合作。 • Adobe官方数据,99%的电脑都装有FlashPlayer。
Cons • 对搜索引擎不友好 • 目前产生文件较大(相对于Flash) • Flex Builder收费 • 与HTML交互麻烦-竞争关系 • 不支持多线程
学习资源-libs • 控件库:FlexLib • 测试库:FlexUnit 、ASUnit • MVC框架:pureMVC、Cairngorm、Mate • 3D引擎 - Papervision3D等 • 物理 引擎- APE (Actionscript Physics Engine)
问题 • 不支持泛型,如: • public varsolution:Array = new Array(); //解 • if (solution[3].storeID?== ri.storeID) • 无法判断这个属性