您好,欢迎访问三七文档
本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。1.Flex+BlazeDS+Spring(2.5.6)+iBATIS+Cairngorm2.Flex+BlazeDS+SpringBlazeDSIntegration+Spring(=2.5.6)+iBATIS+Cairngorm3.Flex+BlazeDS+Spring(2.5.6)+iBATIS+pureMVC4.Flex+BlazeDS+SpringBlazeDSIntegration+Spring(=2.5.6)+iBATIS+pureMVCRIA是什么?RIA是富网络应用(RichInternetApplication)的缩写,也即丰富互联网应用程序。它只是一种技术形式而不是具体的技术。RIA出现的背景在RIA出现之前,软件开发都是基于C/S(Client/Server)或B/S(Browser/Server)架构,但两者各有缺点。C/S的主要缺点:1.开发、部署成本高传统B/S结构的软件需要针对不同OS开发对应的版本,且软件更新换代的速度越来越快自然成本会很高。2.维护成本高服务器和客户端都需要维护管理,工作量较大且技术支持复杂。B/S的主要缺点:1.受限于HTML技术,很难像C/S那样产生丰富,个性的客户端界面;2.存在浏览器兼容性差问题;3.Server端负荷较重,响应速度慢;绝大多数处理都集中在Server端,并且每次响应都要刷新页面(利用Ajax技术会有所缓解)。随着软件的飞速发展,此时需要出现一种能够摒弃上诉缺点的新的技术形式–RIA出现了。目前比较流行的RIA技术Adobe的Flex微软的SilverlightSun的JavaFX以上三种技术各有优势,本教程只关注目前应用较广泛的Flex。Flex和FlexSDK是什么?Flex是一个开源、免费的框架,用于构建在Adobe®Flash®Player或AdobeAIR®runtimes环境内运行的跨浏览器、桌面和操作系统的富网络应用。FlexSDK(FlexSoftwareDevelopmentKit)除了包括Flex框架以外还包括compilers(编译器)和debugger(调试器)等开发工具。(这也意味着没有FlashBuilder等IDE同样可以开发Flex应用,但效率会很低。)授权MozillaPublicLicense,version1.1(MPL)开发语言FlexFramework:ActionScript3.0开发者AdobeSystemsIncorporatedFlex应用运行环境–Adobe®Flash®Player和AdobeAIR®Runtimes两者都是运行环境,前者基于浏览器,后者基于桌面。可基于这两个环境开发Flex应用,但Adobe®Flash®Player已非常普及所以现有Flex应用绝大多数都是基于Adobe®Flash®Player开发。(Flex3要求FlashPlayer9以上,Flex4要求FlashPlayer10以上)本系列教程也只针对Adobe®Flash®Player。Flex与Flash在我们的印象里Flash只是设计师用来制作动画的工具,但实际上Flash也可以构建富网络应用的,但比较复杂。程序员并不习惯使用画图工具,时间轴和可视化面板等来开发富网络应用,Flex的出现解决了这一问题。有了Flex,程序员可以使用ActionScript和MXML编程语言快速开发富网络应用。Flex对开发者更具吸引力,而Flash更多的是吸引设计人员。Flex原理当你编译一个Flash程序时,Flash开发环境把所有的可视化元素,时间轴指令和ActionScript中的业务逻辑编译为SWF文件。同样地,Flex程序中的MXML和ActionScript代码首先全部被转换为ActionScript然后编译为SWF文件。当你把SWF文件部署到服务器上时,使用者可以从服务器获取到这个程序。Flex应用的构建形式尽管用Flex开发RIA有多种形式,但现在主流的架构是:Flex作为Client(客户端),Java、PHP、Asp、Ruby等技术作为Server(服务器端)。本教程之后的内容主要介绍Flex与Java技术的整合。Flex访问服务器端数据的3种方式既然Flex可以和Java等Sever端技术整合,那么它们之间怎样实现通信的呢?Flex通过HTTPService,WebService和RemoteObject这3个组件实现与Server端的通信。HTTPService组件HTTPService组件允许你与HTTP服务交互,可以是接收HTTP请求和发送HTTP响应的任何HTTPURI。你可以通过HTTPService组件调用任何类型的Server端技术,包括PHPpages,ColdFusionPages,JavaServerPages,Javaservlets,RubyonRails和ASPpages。HTTPService组件允许你发送HTTPGET、POST、HEAD、OPTIONS、PUT、TRACE和DELETE请求,并典型的以XML形式返回。WebService组件WebService组件允许你访问WEB服务。不了解WEB服务吗?RemoteObject组件(最灵活、最常用的方式)RemoteObject组件允许你访问Server端对象的方法,例如ColdFusioncomponents(CFCs),Javaobjects,PHPobjects和.NETobjects,并且不需要把对象配置为WEB服务。但这种方式与其他2种方式不同,它需要中间件(下一节要讲的内容),此时应用和Server端对象之间通过AMF(ActionMessageFormat)二进制形式传递数据。Flex视频教程一周学会Flex3应用开发视频培训(简体中文字幕)一周学会Flex4应用开发视频培训(英文)Flex参考文档Adobe®Flex®4Beta语言参考(简体中文)UsingFlex4(英文)AccessingDatawithFlex4(英文)ADOBE®FLEX®4Tutorials(英文)ActionScript3.0ReferencefortheAdobePlatform(英文)TourdeFlexFlex相关下载所有Flex4文档(约60M)Flex4SDK中间件是什么?为什么需要中间件?上节中我们谈到Flex通过HTTPService,WebService和RemoteObject三个组件与Server端技术通信,并且如果用RemoteObject那么应用和Server端对象之间通过AMF二进制形式传递数据。因此就需要额外的软件实现AMF协议,这样的软件就是我们所说的中间件。根据不同的Server端技术你需要选择不同的中间件。中间件类型PHP中间件ZendFramework(开源,免费)中的Zend_AmfAMFPHP(开源,免费)SabreAMF(开源,免费)WebORBforPHP(开源,免费).NET中间件WebORBfor.NET(社区版免费,企业版收费)Rails中间件WebORBforRails(开源,免费)Java中间件WebORBforJava(社区版免费,企业版收费)AdobeLiveCycleDataServicesES2(收费)AdobeBlazeDS(开源,免费)对比AdobeLiveCycleDataServicesES2和AdobeBlazeDSBlazeDS应用广泛BlazeDS是发布于LGPLv3许可下的开源,免费项目。在采用Java作为Server端技术的Flex构架中得到越来越多的应用。在之后的教程中也采用它作为中间件。BlazeDS文档BlazeDS4.0InstallationGuideBlazeDS4.0JavadocBlazeDS相关下载BlazeDSBlazeDSsourcecodeFlashBuilder4是什么?FlashBuilder4是一个Eclipse插件,版本4之前称为FlexBuilder。用于帮助开发者使用Flex框架快速开发跨平台的富网络应用。正如下图描述的那样,FlashBuilder4已经集成了FlexSDK,你不需要再额外下载安装它。FlashBuilder4版本及授权有4个版本,分别是:FlashBuilder4高级版FlashBuilder4标准版FlashBuilder4标准教育版FlashBuilder4高级教育版其中“FlashBuilder4标准教育版“注册(需要提供教师资格的相关证明)后可免费下载使用,其他都是收费的(但有60天的试用期)。FlashBuilder4开发者AdobeSystemsIncorporatedFlashBuilder4主要特征强大的编码工具借助功能强大、基于Eclipse™的IDE进行开发,它包含针对MXML、ActionScript®语言和CSS的编辑器以及语法颜色、语句完成、代码折叠、交互式点进调试和自动生成常用代码。丰富的可视布局使用一个丰富的内建组件库以可视方式设计和预览用户界面布局、外观和行为。扩展内建Flex框架组件或根据需要创建新组件。导入使用AdobeFlashCatalyst™交互式设计工具创建的功能性应用程序UI。以数据为中心的开发检查Java™、PHP、AdobeColdFusion®、REST和SOAP服务,在新的“Data/Service”(数据/服务)资源管理器中显示方法和属性。使用简单的拖放方法将方法绑定到UI组件。交互式数据可视化只需使用FlexCharting库拖放图表类型并将它链接到数据源,即可创建数据仪表板和交互式数据分析。使用功能强大的AdvancedDatagrid使用户能浏览复杂数据。外观与样式设计使用CSS和图形属性编辑器自定义应用程序外观。快速设置最常用的属性,并在“Design”(设计)视图中预览结果。使用新的ThemeBrowser(主题浏览器)浏览可用主题,并将它们应用于您的项目。与AdobeCreativeSuite设计工具集成导入使用AdobeFlashProfessional、Illustrator®、Photoshop®或Fireworks®软件创建的设计资源,或导入使用FlashCatalyst创建的整个应用程序用户界面。FlashProfessional与FlashBuilder之间的新工作流程简化了自定义Flex组件的导入和更新。对AdobeAIR的本机支持使用FlashBuilder4(包括构建、调试、打包和签署AIR应用程序所需的全部工具)为AdobeAIR®运行时创建应用程序。AdobeAIR允许您使用与构建浏览器RIA相同的技能和代码库快速开发桌面RIA。代码重构通常重命名对类、方法或变量的所有引用,在代码中实现快速导航或对它进行重构。FlashBuilder4增加了移动重构。功能强大的测试工具(仅限高级版)借助内存和性能概要分析器提高应用程序性能,它们可以监视和分析内存消耗情况以及CPU周期。还提供对HPQuickTestProfessional等自动化功能测试工具的支持。NetworkMonitor(网络监视器)(仅限高级版)为本地Flex应用程序与后端之间通过的全部数据生成一个详细的审计追踪,为调试和性能调试提供协助。高级数据服务使用开放源BlazeDS添加二进制、高性能、基于HTTP的数据传输,或增加AdobeLiveCycle®DataServicesES2模块以实现实时数据推送及pub/sub消息传递。命令行构建(仅限高级版)使用新的命令行构建功能实现构建流程自动化。Flex单元测试集成(仅限高级版)使用Flex单元测试框架实现功能测试自动化。ASDoc支持使用ASDoc在MXML和ActionScript编辑器中显示注释。对比FlashBuilder4标准版,FlashBu
本文标题:FLEX4教程
链接地址:https://www.777doc.com/doc-2873950 .html