`
jingsiwu
  • 浏览: 1345 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

flex优劣

阅读更多

一项技术,从概念提出到技术研发到商业发布,再到实际应用,最终将产品呈现在用户面前,这是一个漫长而复杂的过程。在这当中,很多有创意有生命力的技术因为各种原因小小遗憾地不幸夭折了。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)

分享到:
评论

相关推荐

    flex java 项目整合.rar

    - **数据交换格式**:AMF提供了高效的二进制数据传输,而RESTful则常采用JSON或XML格式,各有优劣。 - **安全性**:确保在通信过程中数据的安全,可以使用HTTPS、数字证书等手段加密传输。 - **错误处理和调试**:在...

    readxml flex加载xml文件

    Flex中读取XML文件的方法各有优劣。XMLLoader适合异步加载,提高用户体验;XMLDocument则提供错误处理和安全的XML解析;E4X则以其简洁的语法吸引开发者。选择哪种方法取决于具体的应用需求,如数据量、性能要求以及...

    动力学计算flex5-2-simapck

    这有助于理解不同软件之间的优劣。 #### 模型迁移过程详解: - 文章首先构建了一个通用的风力涡轮机模型,并在Flex5和Simpack两个环境中进行了实现。 - 特别注意的是,文中提到了对气动载荷的计算和更新例程进行了...

    Flex IOC 框架概览

    在不同的IOC框架下实现同样的功能,可以直观地比较各框架的特点和优劣。 - **登录面板**:负责用户的身份验证。 - **信息面板**:展示用户的个人信息。 在具体的实现过程中,每个框架都有自己的配置方式和对象管理...

    flex module ppt

    模块和RSLs各有其适用场景,并不具有优劣之分。RSLs主要用来共享代码库,提高代码复用,而模块则专注于将应用拆分为独立单元,优化加载和运行性能。两者可以结合使用,以达到最佳的性能和可维护性。 **何时使用Flex...

    Flex面试题及答案

    creationPolicy的理解与优劣分析 `creationPolicy`属性用于控制组件子元素的实例化策略。设置为`lazy`表示子元素在首次访问时才实例化,这有利于快速加载应用,但可能导致用户交互时的延迟。设置为`auto`则会在...

    QCon 2009 beijing全球企业开发大会ppt:11.Flex体系架构深度剖析

    - **优劣分析**: - 优点: 快速原型设计、高性能渲染、丰富的用户界面组件。 - 缺点: 学习曲线较陡、跨平台兼容性问题。 #### 五、Flex与SOA - **SOA的概念**: - Service-Oriented Architecture(面向服务架构),...

    Flex Twaver 入门指南中文版

    比较 XML 方式和 API 方式的优劣。 ##### 8. **使用 EDITOR 编辑工具** - **目标**:掌握 Editor 工具的基本使用方法,提高界面定制能力。 - **功能**:内置的编辑器工具,可以用来定制界面元素,如调整布局、更改...

    liziqun.rar_flex_粒子群 最小值_粒子群最小

    6. "fitness.m":适应度函数,是评价粒子解优劣的关键。对于求最小值的问题,适应度函数通常是目标函数的负值,使得越小的值代表越优的解。 综上所述,这个压缩包提供了一个完整的PSO算法实现,包括算法的理论基础...

    [转] [Flash/Flex] 加载SWF性能VS影片剪辑性能

    在IT行业中,尤其是在Flash和Flex开发领域,性能优化是一个至关重要的议题。本文将详细探讨“加载SWF性能VS影片剪辑性能”的主题,基于提供的博客链接(https://as3.iteye.com/blog/1454896),我们将深入分析这两种...

    01+Angular4.x+angular5.x介绍以及和vue、react对比

    3. **新特性**:如 @angular/flex-layout 提供响应式布局支持,@angular/http 更新为 @angular/common/http,提供更好的响应式API。 4. **Improved Change Detection**:OnPush 变更检测策略优化,提高了性能。 5. *...

    关于blazeDS的例子

    BlazeDS与Adobe的 GraniteDS 或 Red5 这样的其他服务器端技术相比,各有优劣。BlazeDS的优势在于其与Adobe生态系统的紧密集成,而其他解决方案可能更适用于非Adobe平台。 10. **应用场景**: BlazeDS常用于需要...

    简单实现栅格布局的两种方式

    这两种方法各有优劣,float布局兼容性好但是需要额外处理布局问题,如浮动的清除;而flex布局更为强大和灵活,但需要考虑浏览器的兼容性问题,尤其是在老旧浏览器上可能不支持flex属性。对于现代的Web开发,推荐使用...

    CSS实现垂直居中的5种方法.rar

    以上五种方法各有优劣,应根据实际需求和浏览器兼容性选择合适的方法。随着现代浏览器对新CSS规范的支持越来越广泛,建议优先考虑使用Flexbox和Grid布局。学习并熟练掌握这些方法,将有助于提高你的网页布局能力。

    CSS 实现内容高度不够的时候底部(footer)自动贴底

    综上所述,两种方法各有优劣。对于现代浏览器环境,Flex-Box 方法提供了更灵活的布局;而在需要考虑兼容性或固定底部高度的场景下,底部负距离方法更为适用。根据项目需求和个人喜好,可以选择适合自己的解决方案。

    CSS布局解决方案.docx

    通过上述介绍可以看出,不同的布局方法各有优劣。选择合适的布局方式时需要考虑项目的需求、目标浏览器的支持情况等因素。例如,如果项目主要面向现代浏览器,那么可以优先考虑使用Flexbox或Grid布局。而对于需要...

    详解八种方法实现CSS页面底部固定

    页面底部固定是网页设计中一个常见需求,确保页脚始终位于浏览器窗口的底部,而不是随着页面内容的多少上下浮动。...每种方法都有其适用场景,了解这些方法的原理和优劣能够帮助开发者在实际应用中更加得心应手。

    左侧固定,右侧自适应(两种方法任选)

    从CSS布局技术的角度来讲,这两种方法各有优劣。使用绝对定位的方法简洁明了,但可能在某些布局下需要额外调整,比如当需要对左侧固定列进行额外的相对定位时。而使用浮动布局的方法更加灵活,但需要关注浮动元素对...

Global site tag (gtag.js) - Google Analytics