- 浏览: 54454 次
- 性别:
- 来自: 天津
最近访客 更多访客>>
最新评论
-
shuiyunbing:
单元格样式怎么处理?
将flex页面数据导出到excel -
gaoyide:
啥破玩意!!
FLEX alive pdf 打印pdf -
zhong_pro:
关于博主的问题点,做如下修改就可以达到不需要属性isSelec ...
Flex 4通过重写DataGridColumn和CheckBox类给DataGrid添加选择列-CheckBoxColumn -
zhenxingzzx:
看不到附件的 !!
Adobe AIR右键菜单和系统托盘(Tray)功能以及实现方法 -
pangxin12345:
dingdingdingdingding
Adobe AIR右键菜单和系统托盘(Tray)功能以及实现方法
原文地址:http://www.infoq.com/cn/news/2008/04/top-10-flex-mistakes
英文原文:Top 10 Mistakes when building Flex Application
在这篇新闻中,Adobe的James Ward与InfoQ.com一起为你带来了Flex的另一种10大(Flex最新的10大)。Flex是一个开源的应用开发框架,用来构建运行在web(使用 Flash Player)或者桌面上(使用Adobe AIR)的富Internet应用。总之,Flex是一个强大易用的框架,但是今天让我们瞧瞧构建Flex应用时经常犯的错误。
对于Flex新手,请阅读InfoQ最近的Adobe Flex Basics以对该框架有一个快速的了解。下面是易犯的错误列表:
1. 使用RIA框架去构建Web1.0应用(新技术换汤不换药)。
从Web 1.0到RIA的过渡中最大的挑战之一来自思考方式的转变。Flex给予开发者一个高级的组件库,使其可以完成很多以前不可能完成的任务。但是很多时候,Flex的这种能力被忽略了,它仅仅被用来实现更加传统的Web 1.0应用。
构建Web 2.0应用不仅仅意味着页面的局部刷新和旋转的圆角图标。例如,Flex开发者应使用矢量图向用户提供数据的可视化表示,以及对于富应用流的高级控制。最近Stephan Janssen与InfoQ.com一起讨论了该议题:
作为一个Java开发者,对于面向对象的ActionScript和UI标记语言的学习简直就是小菜一碟。但是对于(Java)开发者来说真正的挑战在于我们不是设计师,并且这两个技术对于RIA来说是必不可少的。
2. 破坏标准的浏览器体验
尽管Flex确实提供了一个优秀的平台以改善用户体验,但是保持用户习惯,如后退按钮、书签和自动完成也是相当重要的。
Flex 3包含了新的深层链接特性以支持后退按钮和书签。你可以访问labs.adobe.com来了解更多。那有很多组件能够实现自动完成。你可以使用来自于Adobe Exchange的AutoComplete Input组件。
3. 使用过多的容器导致应用变慢
Flash Player使用了一个按层次显示的对象图,这一点与HTML的文档对象模型(DOM)很相似。容器嵌套的层次越深,渲染所花费的时间就越长。Adobe的Flex开发者中心有一篇文章讨论了关于Flex性能的最佳实践,包括了容器的使用细节:
Flex最大的性能风险来自于对容器的滥用。嵌套太多的容器会影响应用的性能。这是Flex开发者面临的最严重的性能风险——不过还好,它完全能被避免。
4. 使用XML而不是其他更优化的协议导致应用变慢
Flex向开发者提供了多种选择以在Flex客户端和服务器之间进行数据传输,包括AMF3、XML、SOAP及直接的HTTP请求。Ward在他的人口普查应用中阐述了这些技术的使用及性能。
对于后端使用Java的新项目来说,应该考虑一下BlazeDS。BlazeDS是Adobe最近的一个开源数据服务产品,它使用了AMF3协议。AMF是一个二进制传输协议,很容易与Java集成,其性能要优于XML。对于所有主要的后端技术都有相应的AMF开源实现。
如果你不选择BlazeDS,那么你还可以选择Hessian。Hessian对二进制的web services协议提供了ActionScript/Flex支持。
5. 试图雇佣Flex开发者
现在很难找到有经验的Flex开发者。Flex现在正处在上世纪90年代Java所处的位置。Flex开发者已经供不应求了。这就造成了难以寻觅 到有经验的Flex开发者的后果。然而,这给Java开发者创造了一个很好的机会以扩充技能,并且从事一种新兴且有趣的技术。很多寻找Flex开发者的公 司直接对Java或者其他web开发者进行几周的Flex培训,并且大获成功。对于熟悉Web和GUI编程的开发者来说,学习Flex语言和APIs易如 反掌。
6. 特效的过度使用
开发者可以很容易地通过Flash增加特效。但是要确保特效有意义并且与上下文是匹配的。否则他们只会让用户反感。特效的时间选择也很重要。交互设计器可以帮助我们决定何时应使用特效,何时不应该使用。交互设计器还能为我们推荐最佳的特效类型、间隔和最简化的功能。
关于特效的使用在laair.org上有一篇好文:
大多数的特效简直太长了。它们不但长,而且还慢,甚至让人反感。关掉它。如果我遇到这种事情的话,我就会转身离去,因为我实在讨厌这种等待。
千万不要误会我,我并不是反对特效。我只是反对为了目的而做的太长或者太过分的特效。每个特效都可以依照其目的进行分解。找到你要特效的目的,然后再使用它。
7. 没有搭建企业生态系统
就像其他的软件项目一样,为于你的Flex应用建立企业生态系统是非常重要的。
测试驱动开发(TDD)在当前是大多数企业项目的首选方案。对于Flex来说,FlexUnit框架可用来编写单元测试。在Adobe的开发者网络上,Neil Webb讨论了面向Flex开发者的TDD及FlexUnit的使用。此外,Flexcover可用来度量代码覆盖率。
当多个开发者协同工作时,持续集成(Continuous Integration)被证明是良好的实践。与Java应用类似,也有相应的Ant和Maven插件对你的Flex应用进行持续集成。
8. 没有使用整个框架
在Adobe Flex中有大量可选的特性,你应该考虑在你的应用中使用它们。例如,运行时共享库(Runtime Shared Libraries,即RSL)可用来减少应用的大小。
你可以将共享资源集成到单独的文件中,这样就可以在客户端单独下载和缓存了,通过这种手段可以减少应用产生 的SWF文件的大小。很多Flex应用可以在运行时加载这些共享资源,而每个客户端只需下载一次即可。这些共享资源叫做运行时共享库(Runtime Shared Libraries)。
框架的另一个特性是内建的辅助功能。你可以通过Adobe在线文档了解更多的关于Flex的辅助功能的信息。除了内建的辅助功能外,框架还提供了对于本地化的内在支持。请访问Adobe新手上路来了解最新的Flex3框架特性。
9. 使用复杂的渲染器降低了DateGrid的速度
针对DataGrid开箱即用的itemRenderer已经有过很好的优化了。误解#3讨论了嵌套过深的容器的性能问题。在Flex中有一个地 方很容易造成容器的深层次嵌套,那就是DataGrid的item渲染器。由DataGrid所渲染的item渲染器数量等于可见的行数乘以可见的列数。 定制的DataGrid和List item渲染器应该经过非常好的优化才行。当需要在item渲染器中使用复杂的布局逻辑时,最好使用UIComponent(或者其他底层类)并且手工完 成该单元格内容的定位。
10. 没有准备离线应用。
RIAs的传统模型在于浏览器。然而像Adobe AIR和Google Gears这 样的技术使得应用可以离线运行。如果用户需要可以离线对应用时而你尚未准备好的话,那将你的应用改为支持离线特性将变得异常困难。典型地,在web应用 中,业务逻辑存在于服务器端。在离线RIAs中,业务逻辑必须转到客户端。为了使应用既支持离线,也支持在线,那就很有必要提前决定某些业务逻辑的位置。
标签集:Flex AS3 RIA
英文原文:Top 10 Mistakes when building Flex Application
在这篇新闻中,Adobe的James Ward与InfoQ.com一起为你带来了Flex的另一种10大(Flex最新的10大)。Flex是一个开源的应用开发框架,用来构建运行在web(使用 Flash Player)或者桌面上(使用Adobe AIR)的富Internet应用。总之,Flex是一个强大易用的框架,但是今天让我们瞧瞧构建Flex应用时经常犯的错误。
对于Flex新手,请阅读InfoQ最近的Adobe Flex Basics以对该框架有一个快速的了解。下面是易犯的错误列表:
1. 使用RIA框架去构建Web1.0应用(新技术换汤不换药)。
从Web 1.0到RIA的过渡中最大的挑战之一来自思考方式的转变。Flex给予开发者一个高级的组件库,使其可以完成很多以前不可能完成的任务。但是很多时候,Flex的这种能力被忽略了,它仅仅被用来实现更加传统的Web 1.0应用。
构建Web 2.0应用不仅仅意味着页面的局部刷新和旋转的圆角图标。例如,Flex开发者应使用矢量图向用户提供数据的可视化表示,以及对于富应用流的高级控制。最近Stephan Janssen与InfoQ.com一起讨论了该议题:
作为一个Java开发者,对于面向对象的ActionScript和UI标记语言的学习简直就是小菜一碟。但是对于(Java)开发者来说真正的挑战在于我们不是设计师,并且这两个技术对于RIA来说是必不可少的。
2. 破坏标准的浏览器体验
尽管Flex确实提供了一个优秀的平台以改善用户体验,但是保持用户习惯,如后退按钮、书签和自动完成也是相当重要的。
Flex 3包含了新的深层链接特性以支持后退按钮和书签。你可以访问labs.adobe.com来了解更多。那有很多组件能够实现自动完成。你可以使用来自于Adobe Exchange的AutoComplete Input组件。
3. 使用过多的容器导致应用变慢
Flash Player使用了一个按层次显示的对象图,这一点与HTML的文档对象模型(DOM)很相似。容器嵌套的层次越深,渲染所花费的时间就越长。Adobe的Flex开发者中心有一篇文章讨论了关于Flex性能的最佳实践,包括了容器的使用细节:
Flex最大的性能风险来自于对容器的滥用。嵌套太多的容器会影响应用的性能。这是Flex开发者面临的最严重的性能风险——不过还好,它完全能被避免。
4. 使用XML而不是其他更优化的协议导致应用变慢
Flex向开发者提供了多种选择以在Flex客户端和服务器之间进行数据传输,包括AMF3、XML、SOAP及直接的HTTP请求。Ward在他的人口普查应用中阐述了这些技术的使用及性能。
对于后端使用Java的新项目来说,应该考虑一下BlazeDS。BlazeDS是Adobe最近的一个开源数据服务产品,它使用了AMF3协议。AMF是一个二进制传输协议,很容易与Java集成,其性能要优于XML。对于所有主要的后端技术都有相应的AMF开源实现。
如果你不选择BlazeDS,那么你还可以选择Hessian。Hessian对二进制的web services协议提供了ActionScript/Flex支持。
5. 试图雇佣Flex开发者
现在很难找到有经验的Flex开发者。Flex现在正处在上世纪90年代Java所处的位置。Flex开发者已经供不应求了。这就造成了难以寻觅 到有经验的Flex开发者的后果。然而,这给Java开发者创造了一个很好的机会以扩充技能,并且从事一种新兴且有趣的技术。很多寻找Flex开发者的公 司直接对Java或者其他web开发者进行几周的Flex培训,并且大获成功。对于熟悉Web和GUI编程的开发者来说,学习Flex语言和APIs易如 反掌。
6. 特效的过度使用
开发者可以很容易地通过Flash增加特效。但是要确保特效有意义并且与上下文是匹配的。否则他们只会让用户反感。特效的时间选择也很重要。交互设计器可以帮助我们决定何时应使用特效,何时不应该使用。交互设计器还能为我们推荐最佳的特效类型、间隔和最简化的功能。
关于特效的使用在laair.org上有一篇好文:
大多数的特效简直太长了。它们不但长,而且还慢,甚至让人反感。关掉它。如果我遇到这种事情的话,我就会转身离去,因为我实在讨厌这种等待。
千万不要误会我,我并不是反对特效。我只是反对为了目的而做的太长或者太过分的特效。每个特效都可以依照其目的进行分解。找到你要特效的目的,然后再使用它。
7. 没有搭建企业生态系统
就像其他的软件项目一样,为于你的Flex应用建立企业生态系统是非常重要的。
测试驱动开发(TDD)在当前是大多数企业项目的首选方案。对于Flex来说,FlexUnit框架可用来编写单元测试。在Adobe的开发者网络上,Neil Webb讨论了面向Flex开发者的TDD及FlexUnit的使用。此外,Flexcover可用来度量代码覆盖率。
当多个开发者协同工作时,持续集成(Continuous Integration)被证明是良好的实践。与Java应用类似,也有相应的Ant和Maven插件对你的Flex应用进行持续集成。
8. 没有使用整个框架
在Adobe Flex中有大量可选的特性,你应该考虑在你的应用中使用它们。例如,运行时共享库(Runtime Shared Libraries,即RSL)可用来减少应用的大小。
你可以将共享资源集成到单独的文件中,这样就可以在客户端单独下载和缓存了,通过这种手段可以减少应用产生 的SWF文件的大小。很多Flex应用可以在运行时加载这些共享资源,而每个客户端只需下载一次即可。这些共享资源叫做运行时共享库(Runtime Shared Libraries)。
框架的另一个特性是内建的辅助功能。你可以通过Adobe在线文档了解更多的关于Flex的辅助功能的信息。除了内建的辅助功能外,框架还提供了对于本地化的内在支持。请访问Adobe新手上路来了解最新的Flex3框架特性。
9. 使用复杂的渲染器降低了DateGrid的速度
针对DataGrid开箱即用的itemRenderer已经有过很好的优化了。误解#3讨论了嵌套过深的容器的性能问题。在Flex中有一个地 方很容易造成容器的深层次嵌套,那就是DataGrid的item渲染器。由DataGrid所渲染的item渲染器数量等于可见的行数乘以可见的列数。 定制的DataGrid和List item渲染器应该经过非常好的优化才行。当需要在item渲染器中使用复杂的布局逻辑时,最好使用UIComponent(或者其他底层类)并且手工完 成该单元格内容的定位。
10. 没有准备离线应用。
RIAs的传统模型在于浏览器。然而像Adobe AIR和Google Gears这 样的技术使得应用可以离线运行。如果用户需要可以离线对应用时而你尚未准备好的话,那将你的应用改为支持离线特性将变得异常困难。典型地,在web应用 中,业务逻辑存在于服务器端。在离线RIAs中,业务逻辑必须转到客户端。为了使应用既支持离线,也支持在线,那就很有必要提前决定某些业务逻辑的位置。
标签集:Flex AS3 RIA
发表评论
-
转:flex滤镜:聚光灯效果、放大镜效果、缩放模糊效果、浮雕效果和水波效果
2011-05-30 21:30 1765可惜提供的源代码没有相应的libs包 1:聚光灯效果: 实 ... -
Air File类使用方法
2010-09-06 10:24 2287air file 系统中文件或目 ... -
Flex air修改外部xml文件
2010-09-06 09:35 2110AIR的文件操作不难,看完教程应该可以满足你对文件的所有基本操 ... -
air 读取服务器端文件
2010-09-03 13:44 1027import flash.events.Event; ... -
air下载文件
2010-09-02 10:43 834http://www.code-design.cn/blogd ... -
三维程序/游戏制作基本常识
2010-08-25 13:19 913Furry/DDM君: 很多flash3d初 ... -
FLEX的RIA应用程序中配置文件(*-app.xml)的说明
2010-06-22 16:53 885<?xml version="1.0" ... -
Adobe AIR右键菜单和系统托盘(Tray)功能以及实现方法
2010-05-31 17:21 2141AIR教程 Adobe AIR右键菜单和系统托盘(Tray ... -
Flash Bulider4注册码生成器
2010-05-18 11:03 1826Flash Builder 4正式版发布,很高兴还有简体中文 ... -
FLex视图模式与视图转换
2010-05-10 14:13 18293.2 视图模式与视图转换 3.2.1 视图模式 Fle ... -
FusionCharts中文乱码问题
2010-05-06 11:17 2888从 http://www.infosoftglobal.com ... -
Flex ShareObject简单应用
2010-04-26 17:47 1068[size=medium]Share object一般用来保存 ... -
FLEX问题总汇(1)
2010-04-23 15:17 879论坛一直有些问题有人重复的发帖,今天有空就做了点总结,希望和大 ... -
Flex 开发: 类的反射
2010-04-23 10:34 1044Flex 反射简介 在很多时候反射为程序的动态性提供了一种可 ... -
Flex 3 体验:AdvancedDataGrid的使用(第一部分)
2010-04-22 17:14 1414今天我们要说的是官方文档中用了整章介绍的AdvancedDat ... -
FLEX alive pdf 打印pdf
2010-04-22 10:33 1949FLEX alive pdf 打印pdf ,废话不多说了,代码 ... -
FLEX AIR 连接local SQL database
2010-04-22 10:19 1319FLEX AIR 连接本地LocalSQL实现增删改查,废话不 ... -
将flex页面数据导出到excel
2010-04-20 10:07 1631本例实现将flex中的数据 ... -
FLEX TEXTINPUT restrict(正则表达式,约束,限定)
2010-04-19 16:28 2087通常要对输入TextInput中 ... -
actionscript 中 如何控制数字精度(小数位数)
2010-04-16 16:58 1649很简单的一件事,但是如果不知道的话一样很麻烦。Number包里 ...
相关推荐
以下是关于Flex开发的10大误区的详细解析: 1. **仅用于Web 1.0应用**:Flex的强大之处在于其丰富的组件库和RIAs(Rich Internet Applications)的能力。开发者应充分利用Flex的矢量图形和高级控制来创建更具交互性...
构建Flex应用程序的过程涉及多个步骤,首先是使用Flex SDK(Software Development Kit)或集成开发环境(IDE)如Adobe Flash Builder 4。Flex SDK包含了编译器、类库和工具,而Flash Builder则提供了更高级的功能,...
在本教程中,“五分钟用Flex构建WebService应用”将带你快速掌握如何利用Flex与WebService进行数据交互,这对于开发动态、实时更新的Web应用至关重要。 WebService是一种基于Web的、平台无关的服务,它通过HTTP协议...
Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术框架,主要基于ActionScript和MXML语言。在本文中,我们将深入探讨Flex的应用场景、核心概念以及如何通过具体案例来理解其工作原理。 1. Flex简介 ...
### ESRI解决方案:构建基于Flex API和JavaScript API的地图应用 #### 深入解析:ESRI解决方案中的核心要素 在当今数字化时代,地理信息系统(GIS)已成为各行各业不可或缺的一部分,尤其在城市规划、自然资源管理...
其中,Flex作为一种用于构建跨浏览器和操作系统桌面应用程序的技术框架,仍然拥有一定的用户群体。而IntelliJ IDEA作为一款功能强大的集成开发环境(IDE),在Java开发领域享有盛誉,同时也支持其他多种语言和技术栈...
10. **Bamboo Dock Winner**:这个应用是一个桌面管理工具,使用Flex构建的直观界面,帮助用户组织和访问他们的数字内容,提高了工作和生活效率。 通过以上案例,我们可以看到Flex在出版、文档处理、教育、娱乐、...
在IT行业中,Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript和Flash Player或Adobe AIR运行时。Flex应用程序通常具有丰富的用户界面,能够提供动态交互体验。而当我们需要对这些Flex应用程序...
标题中的“构建Flex自动验证框架”指的是在Flex应用程序开发中创建一个自动化验证系统。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA)。自动验证框架是开发者用来确保用户输入数据有效性...
Flex Debug 10 for IE是Adobe Flex开发工具的一个特别版本,专为Internet Explorer浏览器设计,提供了强大的调试功能,极大地优化了开发人员在IE环境下的Flex应用程序调试体验。Flex是一种开源框架,用于创建富...
FLEX是一种基于ActionScript的开放源代码框架,主要用于构建富互联网应用程序(RIA)。它的核心是MXML和ActionScript,这两种语言结合使得开发者可以便捷地创建交互性强、用户体验良好的Web应用程序。 第一章可能...
Flex是由Adobe公司开发的一种富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用程序。这个“Flex应用实例 - Flex做的旅游系统”是一个很好的学习资源,它...
- ArcGIS API for Flex 是一个功能强大且灵活的开发工具包,为开发者提供了构建高质量 GIS 应用所需的全面支持。 - 通过利用其丰富的 API 和组件库,可以快速开发出具有高度定制化功能的应用程序。 - 开发过程中需要...
《Flex企业应用开发实践》这本书由兰天、曲鹏东、孙高飞、姜建卫四位资深专家共同撰写,他们都是在IT行业有着近10年丰富经验的专业人士,尤其在JavaEE企业级应用开发领域有着深厚的造诣。本书不仅详细介绍了Flex与...
10. **性能优化**:探讨如何提高Flex应用的性能,包括合理使用缓存、减少网络请求、优化地图渲染等技巧。 通过这些视频教程,开发者不仅可以学会如何构建基本的Flex地图应用,还能掌握高级功能的实现,从而充分利用...
10. **最佳实践和案例分析**:书中还会包含一些企业级应用开发的最佳实践,以及真实的项目案例,让读者能够从实践中学习并掌握Flex开发的关键技巧。 通过对《FLEX企业应用开发实战》的学习,读者将具备使用Flex构建...
Flex是基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA),尤其适用于创建交互性强、用户体验丰富的Web应用。这本书通过详细的教程和实例,帮助读者掌握Flex的核心技术和在实际项目中的应用。 ...
"基于FLEX构建RIA应用的研究与实现" 本文主要研究和实现了基于FLEX构建的RIA应用,旨在探讨FLEX技术在企业级应用程序中的应用优势。 首先,文章回顾了应用程序的发展历程,从主机模式到客户机/服务器模式,再到...
Flex桌面应用是基于Adobe Flex技术构建的用于开发桌面应用程序的框架。Adobe Flex最初是一个用于创建富互联网应用程序(RIA)的工具,后来发展出能够构建桌面应用程序的功能,这得益于Adobe AIR(Adobe Integrated ...
在本文中,我们将深入探讨如何使用Flex和Java技术构建一个登录应用程序。Flex是一种基于ActionScript的开源框架,用于创建富互联网应用程序(RIA),而Java则是一种广泛使用的后端编程语言,提供强大的服务器端功能...