`
isiqi
  • 浏览: 16053703 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

浅谈Flex转JSF之痛苦

阅读更多

由于Adobe Flex的出现,程序员又多了一个开发基于WEB的富客户端应用利器,同时也给Flex再工程成纯的web项目(如:JSF)带来了灾难性的痛苦,具体体现如下:

1、 Flex web应用可以在Client存储大量信息

由于Flex应用是运行在Flash Player之上的,因此其可以在Client存储大量信息,原则上讲只要Client内存足够大,除非重新LoadSWF文件,否则Client存储的信息不会丢失。因此,Flex应用可以在Client Cache数据、业务逻辑处理、复杂的验证处理。然而,纯WEB应用要想在Client存储信息,则只能使用cookie,且只适合存储简单的键值对,其若想存储复杂的数据则只能在Server端搞个经典的“购物车”。

2、 可以以传统客户端一样更新页面的任何一个组件

Flex页面实际上与传统的客户端Form已经没有多大的差距,我们可以简单的理解为Flex页面就是C#客户端的一个Form,其有许多TextButton等组件构建而成。因此,Flex页面实际上不存在更新问题,开发人员只要对控件进行赋值或者设置属性即可。另外由于Flex的绑定机制,开发人员其实只要对绑定的变量就行值修改,即可更改控件的展现方式。然而,要在纯WEB页面实现更新,则是一个难题,虽然Ajax可以解决部分问题,但页面的更新问题绝对是FlexJSF的一个必须权衡的风险和工作量。

3、 强大的数据Binding机制

Flex有着强大的数据Binding机制,如表格的数据显示,可以将其Binding一个ArrayCollection,只要对该ArrayCollection进行值更改、排序,就可以实现表格的数据更新、排序。而如果用纯的web jsf去实现该功能,只要经过一系列的Ajax请求、刷新才可实现表格的数据更新、刷新。另外表格的行、列定位也是一个比较麻烦的问题,而flex则可以方便的操纵任何一个控件。

当然还有更多Flex的特性用JSF去实现是比较费时、费力的事情(如Layout等),因此考虑FlexJSF我们一定要做好风险和工作量的评估,其中风险主要是用户体验。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics