BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

QClub北京八月份活动总结:Flex 4来了

| 作者 霍泰稳 关注 1 他的粉丝 发布于 2009年8月18日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在8月8日主题为“RIA技术深度探析之Flex 4和Flash安全沙箱”的QClub北京活动上,来自Adobe公司的马鉴和RIAMeeting网站的负责人李文磊分享了他们在Flex以及 Flash方面的经验心得,现场共有108人参会,并在嘉宾分享之后就RIA相关话题进行了热烈的讨论等。

在马鉴的分享中,他主要谈到了Flex 4的新体系,如Flex 4框架、Adobe Flash Catalyst和Flash Builder 4等,其中Flex 4是一个开源框架,是开发人员构建Flex应用的基础,而Flash Catalyst是一个专业的交互设计工具,能够帮助开发者快速创建UI和交互内容,Flash Builder 4是基于Eclipse的高效开发工具,能够构造以数据展示逻辑为中心的Flex应用。

相对于马鉴系统地介绍目前Flash开发平台的最新进展,RIAMeeting网站的负责人李文磊则从一个Flash开发人员普遍关注的话题“安全沙箱”进行了深入探讨,介绍了安全沙箱的不同类型,如远程网络域、本地网络域、本地文件系统域和本地受信任域等,以及对应加载内容的不同类型情况下Flash Player的策略,包括为什么Flash Player要加强执行这些策略等。

现场InfoQ中文站对这两场分享均进行了录像,近期会发布出来,敬请期待。这里将现场问答环节一些比较精彩的内容进行了整理,包括搜索引擎对Flash文件的索引、PDF打印、Flex 3和Flex 4项目主题如何共存,以及浏览器中Flash和Session的冲突问题等。

问:以前的项目是用Flex 3做的,新的项目要基于Flex 4,那么多个项目能否共用一个主题?

答:那是没有办法的,因为框架和命名空间都是不一样的,都是独立分开的,两者可以共存,但是不可以混在一起来声明或者来写,或者你写一个框架来支持两个组件也是不可以的。

问:最近我想做一个网站,也一直在关注Flash,但又担心搜索引擎对Flash文件支持的不够好,有没有什么解决的方案?

答:坦白来说,目前对Flash文件支持的不够好的搜索引擎是我们的百度,像Google、Yahoo等搜索引擎早就支持SWF的索引,甚至包括数据源都可以很好地被搜索出来。之所以你有这个认识,可能是我们的竞争对手发出的一种不好的消息,其实在国外早就不炒作这类概念了。你完全可以按照你正常的工作流去做就好,不用担心这个问题。

问:在Flex 3中我们项目的打印功能是用Applet来实现的,不知在Flex 4中对精确打印有没有什么改进?

答:Flex的打印其实是基于Flash Player的,它有它一定的限制,因为它的图形图像化的东西比较多。如果你一定要追求工业化标准的打印,可以在Flex中引入PDF,如果说连PDF也解决不了这些问题,那么就没有其他任何技术能解决了。打印的效率也很高,Flex里面有个DataSerivce,里面有14个企业组件,有13个都是和PDF有关的,设计打印操作时,你完全可以采用Flex前端的UI,每秒可以输出几万张的报表。

问:目前我在做一个游戏,后台用的是PHP,前台用的是Flash,但是用Flash访问后台对象的时候,有时候因为Session的原因,会产生一些错误,加入Session被清空了,后台传输了一些数据,前台在调用的时候就会出错,有什么办法可以解决这个问题吗?

答:你的Session问题其实和Flash Player没有多少的关系。你是用Remote方法调用的远程对象,用的是Flex框架,所以说你提到的这个问题基本上不会出现,可能是网站服务器上出现了一些问题。

更多RIA和Flex相关话题,请访问InfoQ中文站的富互联网应用-RIA专题,和Flex专题内容。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

记错了吧 by tang loki

Flex里面有个DataSerivce,里面有14个企业组件,有13个都是和PDF有关的,设计打印操作时,你完全可以采用Flex前端的UI,每秒可以输出几万张的报表。
======
7yue说的是LCDS里的组件,服务端的pdf项目是alivepdf

Re: 记错了吧 by Alan Ji

LCDS is powerful to handle PDF requirements.

基于RIA Flex Flash 平台开发的进销存企业信息管理系统开发经验 by tangu soft

基于RIA Flex Flash 平台开发的进销存企业信息管理系统开发经验

基于RIA Flex Flash 平台开发的进销存企业信息管理系统开发经验
(欢迎转载,转载请注明作者,尊重版权)
作者 www.tangusoft.com
一. 中小企业进销存系统和运行平台以及技术架构

1. 中小企业进销存系统特点:
a. 目标客户
零售批发中小企业,企业规模人数500人以下,销售额1500万元以下。
b. 数据操作频繁
每天频繁操作销售和采购以及仓库出入库,经常需要查看企业基本信息,包括商品信息,客户供应商信息,应收应付。并且需要快捷的操作系统。
c.存储数据量有限
商品信息大概5000条,客户供应商大概1000,
每天单据信息大概50条,每年单据信息大概20000条
d.并发操作用户数量固定
销售员,采购员,经理,财务,大概20人左右。
e. 用户使用地点不同
需要直接方便浏览器访问系统
f. 客户浏览器处理功能强大
目前客户电脑普遍内存1G, 处理器 双核2.0 以上
g.中小企业普遍软件预算不高
同时也尽量避免盗版软件引起的法律诉讼和纠纷。

2. 运行平台和系统架构
根据中小企业进销存系统的众多特点,同时考虑技术成熟度和新技术风险,我们决定采取以下运行平台和系统架构
运行平台 Linux Apache Tomcat Mysql
系统架构
表现层Flex 3
数据处理和控制层Blazds + Spring + Ibatis

Flex/Flash 具有以下优点
客户端 界面友好,数据表现能力强大,处理能力强大,有一定的缓存数量的能力,减少服务器请求次数,节省不必要的网络传输。
BlazDS 能够处理并发用户的请求,并且能够压缩数据。
Spring 声明性的代码配置,减少系统维护工作量
Ibatis 减少实际编码,考虑以后支持多种商业数据库

运行平台免费,企业零预算。

二,框架和代码生成器
1. 选择成熟的Flex 框架

cairngorm 和 pure MVC 是目前成熟的open source 框架。
基于Adobe 支持和维护cairngorm,所以采用cairngorm
同时cairngorm 对view 表现层 和 control 控制层 的 隔离和耦合没有成熟的解决方案,开发过程我们曾经使用ViewControllerHelper ,用addListener监听器监听event 事件的执行,实际过程发现代码维护成本太高,遂中途放弃。
最后我们同时引进universal mind cairngorm作为补充辅助框架。
2. Ibatis 代码生成器
选择Abator
三,解决方案
1. 客户端尽可能使用单例模式
减少不必要的客户端内存开销
2. 适度利用客户端缓存
对于商品以及客户供应商, Flex 缓存这些数据,各模块共享数据。
3. 尽可能的采用lazy load 惰性载入数据
很多Flex 系统采用初始化时候一次性载入系统所需要数据,结果导致延长用户登录时间,用户体验非常的差。
4. 不要过度依赖客户端处理能力
特别是大数据排序或者处理请求大数据能力的时候,flex 很容易导致浏览器停顿和不响应。请把大数据排序放在Java或者数据库端,适度的分页分段向服务器请求数据。
5. 最大有效的利用Flex 3新的类库。
减少开发工作量。
例如利用arraycollection 内置的filerfunction 进行查找数据。
6. 定制开发一些特有的控件
带合计栏的datagrid
能模糊查询的combobox
7.报表开发
使用成熟的jasper report 框架。
8. 用户权限的开发
动态创建用户所能操作的模块,而不是简单控制模块的可见和不可见属性
9. 减少生成swf 大小
使用runtime shared library 编译swf
10. 开发模块组件化
判断标准是没有出现冗余重复模块代,application mxml 文件代码简洁
11. 模块之间的数据和方法调用

A模块引用B模块的数据d和方法f,避免简单的调用B.d 和 B.f
需要采用数据和方法的传递,以免多层次的模块数据和方法调用导致代码的复杂。
12 使用resource bundle
标签和文本以及提示从resource 文件读取。

四,基于Flex的进销存系统演示地址

www.tangusoft.com/Demo/

Re: 基于RIA Flex Flash 平台开发的进销存企业信息管理系统开发经验 by tangu soft

基于RIA Flex Flash 平台开发的进销存企业信息管理系统开发经验
关键字: RIA Flex 应用成功案例 实际项目
(欢迎转载,转载请注明作者,尊重版权)
作者 www.tangusoft.com

一. 中小企业进销存系统和运行平台以及技术架构

1. 中小企业进销存系统特点:
a. 目标客户
零售批发中小企业,企业规模人数500人以下,销售额1500万元以下。
b. 数据操作频繁
每天频繁操作销售和采购以及仓库出入库,经常需要查看企业基本信息,包括商品信息,客户供应商信息,应收应付。并且需要快捷的操作系统。
c.存储数据量有限
商品信息大概5000条,客户供应商大概1000,
每天单据信息大概50条,每年单据信息大概20000条
d.并发操作用户数量固定
销售员,采购员,经理,财务,大概20人左右。
e. 用户使用地点不同
需要直接方便浏览器访问系统
f. 客户浏览器处理功能强大
目前客户电脑普遍内存1G, 处理器 双核2.0 以上
g.中小企业普遍软件预算不高
同时也尽量避免盗版软件引起的法律诉讼和纠纷。

2. 运行平台和系统架构
根据中小企业进销存系统的众多特点,同时考虑技术成熟度和新技术风险,我们决定采取以下运行平台和系统架构
运行平台 Linux Apache Tomcat Mysql
系统架构
表现层Flex 3
数据处理和控制层Blazds + Spring + Ibatis

Flex/Flash 具有以下优点
客户端 界面友好,数据表现能力强大,处理能力强大,有一定的缓存数量的能力,减少服务器请求次数,节省不必要的网络传输。
BlazDS 能够处理并发用户的请求,并且能够压缩数据。
Spring 声明性的代码配置,减少系统维护工作量
Ibatis 减少实际编码,考虑以后支持多种商业数据库

运行平台免费,企业零预算。

二,框架和代码生成器
1. 选择成熟的Flex 框架

cairngorm 和 pure MVC 是目前成熟的open source 框架。
基于Adobe 支持和维护cairngorm,所以采用cairngorm
同时cairngorm 对view 表现层 和 control 控制层 的 隔离和耦合没有成熟的解决方案,开发过程我们曾经使用ViewControllerHelper ,用addListener监听器监听event 事件的执行,实际过程发现代码维护成本太高,遂中途放弃。
最后我们同时引进universal mind cairngorm作为补充辅助框架。
2. Ibatis 代码生成器
选择Abator
三,解决方案
1. 客户端尽可能使用单例模式
减少不必要的客户端内存开销
2. 适度利用客户端缓存
对于商品以及客户供应商, Flex 缓存这些数据,各模块共享数据。
3. 尽可能的采用lazy load 惰性载入数据
很多Flex 系统采用初始化时候一次性载入系统所需要数据,结果导致延长用户登录时间,用户体验非常的差。
4. 不要过度依赖客户端处理能力
特别是大数据排序或者处理请求大数据能力的时候,flex 很容易导致浏览器停顿和不响应。请把大数据排序放在Java或者数据库端,适度的分页分段向服务器请求数据。
5. 最大有效的利用Flex 3新的类库。
减少开发工作量。
例如利用arraycollection 内置的filerfunction 进行查找数据。
6. 定制开发一些特有的控件
带合计栏的datagrid
能模糊查询的combobox
7.报表开发
使用成熟的jasper report 框架。
8. 用户权限的开发
动态创建用户所能操作的模块,而不是简单控制模块的可见和不可见属性
9. 减少生成swf 大小
使用runtime shared library 编译swf
10. 开发模块组件化
判断标准是没有出现冗余重复模块代,application mxml 文件代码简洁
11. 模块之间的数据和方法调用

A模块引用B模块的数据d和方法f,避免简单的调用B.d 和 B.f
需要采用数据和方法的传递,以免多层次的模块数据和方法调用导致代码的复杂。
12 使用resource bundle
标签和文本以及提示从resource 文件读取。

四,基于Flex的进销存系统演示地址

www.tangusoft.com/Demo/

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT