flex特性及优缺点

本贴转自:http://smartblack.javaeye.com/blog/556202

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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
grid 是一个二维布局系统,而 flex 是一个一维布局系统。它们在设计上有一些不同,因此它们各自有优点和缺点。 grid 布局的优点 1. 可以进行二维布局。这意味着可以将页面分成多行和多列,并且可以根据需要调整它们的大小和间距。这使得可视化设计更容易,并且可以实现复杂的页面布局。 2. 可以设置行和列的大小。这使得网格中的项目可以更好地适应屏幕大小和分辨率。 3. 可以设置网格的方向。这意味着可以更轻松地实现横向和竖向的布局。 4. 可以对项目进行非常精细的布局。它可以精确控制项目的位置、大小、间距、对齐方式等。 grid 布局的缺点 1. 兼容性有限。目前只有比较新的浏览器支持该属性,对于老浏览器,需要使用fallback方案。 2. CSS代码复杂。使用网格布局需要大量的CSS代码,特别是对于复杂的布局,代码复杂度就更高。 Flex 布局的优点 1. 可以实现自适应布局。flex 可以让项目根据容器的大小自动调整大小和位置,适应不同的屏幕大小和分辨率。 2. 结构简单。flex 相对于 grid 来说,结构简单,写起来也比较方便。 3. 兼容性好。大多数现代浏览器都支持 CSS flex 布局。 4. 灵活性强。flex 可以实现水平布局、垂直布局、水平垂直混合等任意布局方式。 5. 代码简洁。使用 flex 可以大大减少 CSS 代码量。 Flex 布局的缺点 1. 无法进行二维布局。这是由于 Flex 布局是单向的,只能在一条轴线上排列项目。如果需要进行复杂的布局,就需要结合其他布局方式,如 grid。 2. 项目的定位比较麻烦。在某些情况下,使用 flex 会出现项目定位比较麻烦的问题,需要使用 absolute 或者其他方式来解决。 因此,根据实际情况,可以选择使用 grid 或 flex 布局,以获得更好的布局效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值