一项技术,从概念提出到技术研发到商业发布,再到实际应用,最终将产品呈现在用户面前,这是一个漫长而复杂的过程。在这当中,很多有创意有生命力的技术因为各种原因小小遗憾地不幸夭折了。Flex能走到今天确实不易,下面让我们从不同的角度来看一下它是如何过关斩将,赢得众多青睐的。
技术角度:
(1)具备了RIA时代富客户端的优点(C/S+B/S)
(2)支持多种服务器语言(JAVA、.NET、PHP)及主流框架(Spring、Hibernate)
(3)与Java结合后相当强大,能充分利用Java的资源背景
(4)拥有丰富的组件和第三方组件,对企业级的数据汇总和业务流程展现力较强悍
(5)借助开源的力量,拥有众多民间组织和牛人支持
(6)Adobe公司(还有MM多年积累)的强大背景
(7)源于Flash的天生丽质,轻松使用多媒体资源,动态交互性强
(8)借助FlashPlayer的安装普及度,轻松实现跨浏览器跨平台
(9)良好的架构设计和制作精良的文档示例(明年FLEX4同步推出中文版)
(10)借助于插件丰富的Eclipse开发平台并拥有独立的IDE
(11)框架设计重用性高,有利于模块化设计
(12)近几年发展态势良好,获得了广泛认可,产品和技术也越发成熟
开发者角度:
(1)开源,透明(国人没有不喜欢开源的,哈哈)
(2)基于Eclipse开发平台,易上手,且插件丰富(巨人的肩膀啊~)
(3)基于Eclipse平台,开发调试方便(FB4中的条件断点)
(4)ActionScript语言与Java的融合度和相似度较高,易学易用
(5)MXML标签与XML相似,逻辑清晰可读性强
(6)架构设计良好,耦合度低,有利于组件重用
(7)无需针对不同浏览器编写代码,摆脱编写和调试的噩梦(针对JS说的)
(8)类似VB的可视化拖拽组件,快速创建界面
(9)方便定制及使用第三方的皮肤和样式,无需美工也有好效果
(10)支持多媒体资源,轻易开发动态交互性强的界面
(11)众多的RPC组件保障对后台数据访问的安全性和效率
(12)文档示例丰富,通过网络可以获取大量的学习资源
(13)近两年发展态势良好,前景光明
企业角度:
(1)开源,免费(其实很多时候还是直接用破解的。。。)
(2)具备了RIA时代富客户端的优点(C/S+B/S)(潮流啊~!)
(3)项目和组件的重用性高,易于资源积累和快速构建
(4)Flex提供了与其他语言的结合,能广泛利用已有的资源
(5)界面华丽,客户认可度高
(6)学习曲线一般,培训成本低
用户角度:
(1)部署和更新方便
(2)界面漂亮,交互性强
(3)安全
说了这么多好话,再来综合说一下缺点。鉴于我着迷于Flex的光环效应,没有看到的缺点还请诸位多多提出。
缺点:
(1)不擅长处理复杂的业务流程,主要还是适合展现(Flex不是万能的)
(2)继承了Flash的诸多优点,却唯独丢掉了Flash的小巧轻盈(减肥是永恒的话题)
(3)目前尚没有比较好的减肥策略,带宽较好时这不是问题(不是一般的卡。。。)
(4)对服务器和客户端的硬件设备都有一定要求(CPU和内存占用很生猛。。。)
(5)运行期内存泄露状况严重,尽管可以通过一定手段改善(这个很崩溃)
(6)对一些较专业的领域涉及较少,需要第三方组件支持(比如地质方面的)
(7)Adobe公司对中国分部的支持不够(感觉宣讲和文档都做得不够)
(8)搜索引擎对swf文件的支持不够(Adobe一直在努力)
(9)与以往浏览习惯不同,比如右键被屏蔽,图片无法保存(可以改善)
鉴于Flex生成的swf文件太肥是其主要缺点(加载慢,运行慢,内存占用多),我就主要从减肥和优化的角度来说一下使用心得。
使用心得:
(1)Flex只是前台展现,需要搭配强大的后台(注意前后台的均衡和优化)
(2)考虑异步加载(比如分步加载外部资源)
(3)界面推荐使用相对布局,合理组合,避免多余嵌套
(4)界面加载图片推荐使用外部加载方式,尽可能多使用矢量图形
(5)规范CSS样式表,尤其注意使用的外部字体大小
(6)使用额外的皮肤和特效时需要综合考虑生成的文件大小和执行效率
(7)适当地考虑延时加载策略,主界面只显示必要的内容
(8)规范编码,提高执行效率,避免内存泄露
(9)使用RSL和Module和其他有效方式努力减肥
(10)尽可能重写一些继承底层类的组件,执行效率更好
(11)慎重使用重量级组件(比如DataGrid,AdvancedDataGrid)
分享到:
相关推荐
3. **开发Flex客户端**:使用Flex Builder或IntelliJ IDEA等工具,创建新的Flex项目。引入必要的库,如Sjwl.h和Sjwl.lib,它们可能包含了与iServer Java通信的API。 4. **地图展示**:使用Flex SDK中的...
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
"Flex万年历记事本"是一个使用Flex技术实现的项目,它结合了日历功能和记事本特性,为用户提供了一种方便的方式来管理和记录日常生活中的事务。 在Flex源码中,我们可以期待看到以下几个关键知识点: 1. **MXML与...
一个跟踪过程,它传递性地跟踪指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此跟踪过程中未找到的任何堆内存。公共语言运行库垃圾回收器还压缩使用中的内存,以缩小堆所需要的工作空间...
Flex3 使用说明 Flex3 是一个高效、免费的开源框架,用于构建具有表现力的 Web 应用程序。Flex3 可以与 Java 后台进行通信,并与 FusionCharts 结合使用,实现数据可视化。下面是 Flex3 的详细介绍: 一、Flex ...
描述中提到的"三款漂亮的Flex的皮肤主题"意味着我们可以期待三个美观的设计,它们可能各有特色,适合不同的应用场景或者用户群体的审美需求。例如,一款可能是简洁现代风格,另一款可能是深色神秘风格,还有一款可能...
Flex 连接数据库的方法主要涉及三种技术:HttpService、WebService 和 RemoteObject。这些技术都是 Flex 与后端服务器交互的手段,因为Flex本身并不具备直接访问数据库的能力,必须通过服务端代理来实现。 1. **...
本文将深入探讨如何使用FLEX这一强大的调试工具来调试任意第三方应用,特别是在越狱设备上的实现。 FLEX,全称为“Friendly iOS Logger and Explorer”,是一个方便开发者在iOS设备上进行运行时调试的库。它提供了...
Flex相册 Flex图片
【Flex与Java整合方式详解】 Flex与Java的整合是实现富互联网应用(RIA)的关键步骤,使得客户端的用户界面能够与后端的Java服务进行高效通信。本文将详细介绍三种主要的整合方法,帮助开发者理解如何在不同场景下...
Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的...通过阅读这些材料,你将能够逐步掌握Flex开发技术,踏上Flex开发之旅。
在IT行业中,尤其是在前端开发领域,Flex是一种广泛使用的布局模型,它允许开发者创建灵活的、响应式的用户界面。本文将详细探讨"flex带复选框多选树三态树"这一主题,它融合了Flex布局、复选框交互以及多选树结构的...
Flex系列教程之三主要聚焦于通过一个简单的小程序来引导我们了解Adobe Flex这一开发平台。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程语言和MXML标记语言,允许开发者创建交互性...
本文将深入探讨Flex 4.6中一个重要的第三方特效开发包——Efflex。 Efflex是一个专为Flex 4.6设计的特效库,它为开发者提供了大量预定义的视觉效果,以增强应用程序的用户体验。通过使用Efflex,开发者无需从头编写...
这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,旨在帮助开发者提升在Flex平台上的实践能力。 1. **Flex简介**:Flex是一个强大的开发工具,主要用于创建交互式、高性能的Web应用程序。它的核心是...
Flex应用程序通常使用ActionScript编程语言,并基于Flash Player或Adobe AIR运行时环境。Java则是一种广泛使用的面向对象的编程语言,尤其在企业级应用开发中占据重要地位。 标题"flex 和 java交互"指出了一个关键...
【标题】"记事万年历flex源码"所涉及的知识点主要集中在Adobe Flex技术和日历应用程序开发上。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA)。它允许开发者使用MXML和ActionScript来创建...
本资料大全包含了多个重要的Flex学习资源,如Flex白皮书、Flex Cookbook以及Flex编程指南,这些都是深入理解Flex开发不可或缺的文献。 1. **Flex白皮书**: Flex白皮书是Adobe官方发布的技术文档,通常包含Flex...
Flex是由Adobe公司开发的一种开放源码的富互联网应用程序(RIA)框架,主要用于构建和部署跨平台、跨浏览器的互动用户界面。本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的...