您所在的位置:读书频道 > 设计开发 > 网站开发 > 7.1.1 Flex与Java,自然又必然

7.1.1 Flex与Java,自然又必然

2008-12-30 15:29 杨占坡/杨铭/翁颖 清华大学出版社 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

《Flex3 RIA开发详解与精深实践--企业级Web应用与AIR桌面应用》第7章主要讲述的是Flex企业级开发实践--Flex + Struts,本节为大家介绍的是Flex与Java,自然又必然。

AD:

7.1.1  Flex与Java,自然又必然

然而,与Java数十年辉煌的行业地位极不协调的是,在UI(User Interface)设计领域,无论是基于AWT或Swing的桌面应用,还是以JSP(Servlet)或JSF为前端的企业级应用,都或多或少地让人们感觉到了Java在界面展现和用户体验方面有点力不从心。

AWT和Swing最为让人诟病的就是程序的响应速度和内存泄露等诸多问题,而JSP在"富客户端"的互联网应用盛行的今天并没有提供多少可供开发人员使用甚至扩展的页面组件,JSP程序员仍然需要花大量的时间去开发标签库,需要在并不熟悉的JavaScript上面耗费大量的开发和调试时间,因此多年来JSP始终只能作为各种商业控件的"载体",始终在JSP+标签库+表达式语言的前端开发模式中扮演"绿叶"。

而JSF技术,是Sun公司力图使Java互联网应用从"请求-响应"机制向"事件处理"机制进化跨出的革命性的一步,其特点为强大的事件处理功能和界面组件支持及其对Request和Response对象处理细节的隐藏,应该说JSF代表了未来互联网应用的方向,但是JSF对开发人员的角色区分较为细致,例如分网页设计人员、应用程序设计人员和组件设计(集成)人员等,要想精通JSF,就必须深入了解JSF标准标签的使用、自定义标签开发、事件驱动模型、UI组件开发等技术细节,学习的难度较大,周期较长。

在RIA领域,最近几年最为风生水起的技术就要算是Flex了。相信通过前面章节的介绍,读者已经对Flex的基本概念有了了解。在当今流行的RIA解决方案中,不乏Applet这样成熟稳重的老兵,也不乏Ajax这样风风火火的新贵,而Flex却是独树一帜,稳健而不失犀利。

作者认为,Flex会在未来几年成为RIA平台的领航者,理由有两条:

第一是其基于Flash Player的开发模型。Flash Player提供了Flex应用在不同操作系统和不同浏览器之间整合的能力。据统计,全世界84%的个人计算机上安装有Flash Player,并保有80%的升级率。这使我们在几乎所有的互联网用户的运行时中发布跨平台的RIA应用成为可能,因为应用的最终形式只是一个swf文件,而这个文件能在任何安装了Flash Player的浏览器中运行,无论用户使用的是Windows、Linux还是Mac OS。

第二是框架的成熟度。Flex开始进入人们的视野是在2004年,最初作为企业级应用服务器打入市场。从那时起,Flex根据技术和市场的需要进行了一系列的改进。升级了Flash运行时、ActionScript语言和服务器组件的Flex 2.0于2006年6月发布,Adobe于2007年4月宣布Flex框架开源。Flex使得软件开发人员为增强用户体验开发稳健、开源的框架成为现实。开源社区也会为Flex技术的成熟与高速发展提供强大的技术支撑。

Java技术非常成熟,大量的企业级应用采用Java技术构建。Java能为这些复杂的应用提供强大的业务计算能力,但却往往不能为其提供完美的界面和良好的用户体验。对于技术人员来说,保留Java强大的业务逻辑处理能力,以非Java技术取代其略显晦涩的界面展现能力,不失为一种好的选择。现在,是Java开发人员向Flex敞开怀抱的时候了!

Flex基于Java/J2EE社区构建,如果你有过Java开发背景,当你接触Flex编程的时候,你会发现Flex其框架、语言和工具非常易于上手。反之,如果你精通Flex编程,在学习Java的时候,你常常会发现某些ActionScript的语言特征(诸如面向对象)和Java极为相似,甚至完全一致。

Flex Builder是基于Eclipse构建的,可以同时以独立产品和插件的形式提供。几乎所有的Java开发人员都使用Eclipse进行开发,所以他们自然对Flex Builder不会陌生。Flex还提供了大量Ant任务,为自动构建Flex工程提供了足够的支持。而Ant则早已成为Java开发人员和Java社区最密切的朋友,这又为Java开发人员向Flex领域进军提供了天然的条件。

Flex的优势在于构建绚丽的用户界面,提供所谓的"富客户端"体验,业务处理并不是Flex的强项,毕竟ActionScript的数据结构、语言特性及库函数支持尚不能和成熟的高级语言(诸如Java、C++等)相提并论,Flex的开发者们在Flex面世时就考虑到了Flex的定位,同时推出了其获取后台服务的工具--LiveCycle Data Service ES。LiveCycle组件为Flex前端提供了多种与Java后台交互的方式,如远程对象调用、Java消息服务和数据管理服务。我们将在后面的章节用大量的篇幅介绍这几种与后台服务交互的方式。

综上所述,基于Flex框架构建的RIA应用允许Java开发人员利用强大和成熟的Java平台实现复杂的服务器端业务逻辑;同时用Flex能取代传统的Java用户界面技术如JSP,Servlet等,提供极为出色的用户体验和数据展现能力。可见Flex和Java的结合实在是既自然而又必然的事情。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

网友评论TOP5

查看所有评论(

提交评论

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点专题

更多>>

读书

C语言核心技术
在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁,分析深刻。本书主题

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone