OSChina 第 25 期高手问答 —— Adobe Flex 开发

红薯 发布于 2012/08/20 11:42
阅读 2K+
收藏 8

OSCHINA 本期高手问答我们请来了 Adobe Flex 专家 —— @王磊-Kenshin 为大家解答关于 Adobe Flex 开发方面的问题。

王磊 | Kenshin , Adobe Flex专家、国内第一本Flex图书《Flex第一 步》作者、05年开始Flex至今,是国内第一批从事Flex的开发人员,曾任某公司前端技术总监,目前从事Flex顾问、咨询、架构、高端培训等相关工作。王磊也是 FxBlog 开源软件的作者。

新浪微博:http://weibo.com/23784148
Flex博客:http://t.cn/h5BcjD

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家对 Adobe Flex 向 @王磊-Kenshin 提问,请直接回帖提问!

加载中
1
Sephiroth
Sephiroth

你好,@王磊-Kenshin 

有几个问题想请教一下:

1.在adobe目前对于flash支持程度下,Flex是否还有未来?

2.Flex在界面上使用了很多组件后,相当占资源,该如何解决?

3.Flex的MVC框架该如何选择?Cairngorm Or PureMVC?

4.除了远程调用,Web请求,WebService以外,Flex是否还有其他方法与java(S2SH)进行集成?

5.在一个现有的大型系统中,使用什么方法将JSP替换为Flex界面最有效?

6.使用Flex最大的风险在哪里?

7.Flex是否适合互联网应用?

0
大东哥
大东哥

好!flex现学的,很多不清楚。

想问下,共享对象,使用的时候有什么要注意的地方。特别是远程共享对象。共享对象越细越好,还是搞个大对象存根,判断属性变化的好?

共享对象该不该用?

 

0
mallon
mallon
请问,我的Mac笔记本,看在线Flash视频,双核CPU全部占用100%是怎么回事?能解决吗?Flash是最新版本,已确定不是CPU性能问题,因为用播放器播放下载下来的flv文件占用30%都不到
mallon
mallon
回复 @王磊-Kenshin : 是2010年的Mac Book Air,土豆网,在看视频的时候右键选择设置,弹出的界面里“硬件加速”的钩是打上的,但是整个设置界面都无法点击修改...Flash是最新版的,每次提示更新都照做的...
王磊-Kenshin
王磊-Kenshin
看情况应该是Flash Player没有启动GPU加速的问题,请告知详细点的运行环境。
0
王磊-Kenshin
王磊-Kenshin

@Sephiroth
问题1:
     我在很多地方,都反复的说明很多次了,个人建议请看:http://www.infoq.com/cn/news/2012/08/html5-vs-flash-flex

问题2:
      尽量少用嵌套组件,其他优化方案,你可以看这篇文章http://www.k-zone.cn/zblog/post/flex-flash-player-gc.html

问题3:
      框架的选择由很多因素决定,如:项目情况、人员构成情况等等。单纯的纯粹比较框架并没有意义,如果偏要比较的话:纯Flex、小型项目可以考虑Mate Flex Framework;大型、多人AS3/Flex项目可以考虑Parsley;中小型AS/Flex项目可以考虑Robotlegs。

问题4:
      Flex调用后台的方式:HTTPService、WebService、Remote、Sockect、ExternalInterface、ANE(Mobile方式)

问题5:
      如果要走捷径的话,可以选用JSP里面套用SWF的方式,SWF的一些数据可以由JSP提供。但是,个人建议直接使用Flex,而非嵌套方式。

问题6:
     Flex只是一种编程语言而,其他语言拥有的风险Flex依然存在,我觉得效率、后续开发人员的占有率是个问题。

问题7:
    具体问题具体分析,具体你可以参考这个图http://www.infoq.com/resource/news/2012/08/html5-vs-flash-flex/zh/resources/image2.png

王磊-Kenshin
王磊-Kenshin
客气 :)
Sephiroth
Sephiroth
感谢指点 :)
0
王磊-Kenshin
王磊-Kenshin

@大东哥 

    ShareObject与Cookie的功能几乎一样,因此Cookie需要注意的地方,SO也特别注意,个人建议:

  • LSO(Local ShareObject)不要存放一些敏感信息;由于存放在本地,所以有丢失的可能性,所以也不要把所有的LSO都放在一起,尽量要分开放。
  • RSO(Remote ShareObject)由于SO放在远程服务器上,所以相对来说要比LSO安全一些,但是由于SO都只能存放一些简单数据格式、并有大小限制,所以SO更适合放一些登陆信息等,如:当前登陆时间、非敏感类的用户信息等。
SO虽然作为持久化数据的一种解决方案,因此它自然有它应用的领域(如上面所举例),因此在特定的需求下当然需要使用它了 :)

k
keyjian
回复 @王磊-Kenshin : 械
王磊-Kenshin
王磊-Kenshin
我曾经用FMS3做过一个视频聊天系统,用的就是SO。不过,其他场合则用了BlazeDS的消息服务。具体问题具体分析,没有能不能,而是是否适合。如果已经用了FMS那就没必要再用一个BlazeDS了。
大东哥
大东哥
感谢。用远程ShareObject作消息通知靠不靠谱呢?
0
大东哥
大东哥

@王磊-Kenshin

AS播放直播流的话,能否拿到原始的流数据?flash可不可以做P2P,flash对本地接口支持到什么程度?能不能直接拿到声卡缓冲区的数据。。用AS做合成靠不靠谱。。

AS服务器不同的消息类型有没有提供回调接口,比如文本消息,不同类型的流数据。。

可能问得很小白,这块是新手。

0
jeffsui
jeffsui
@王磊-Kenshin :问一个问题,如果这个视频超大,比如超过3个G,flex如何解决播放时画面延时的问题?
王磊-Kenshin
王磊-Kenshin
我对视频播放这块没有太多的研究。不过,我记得FMS4可以进行分段加载及播放的,例如优酷、土豆的形式。
0
王磊-Kenshin
王磊-Kenshin

引用来自“大东哥”的答案

@王磊-Kenshin

AS播放直播流的话,能否拿到原始的流数据?flash可不可以做P2P,flash对本地接口支持到什么程度?能不能直接拿到声卡缓冲区的数据。。用AS做合成靠不靠谱。。

AS服务器不同的消息类型有没有提供回调接口,比如文本消息,不同类型的流数据。。

可能问得很小白,这块是新手。

我对视频也不是特别了解,不过我之前做过P2P的项目,目前FMS4已经支持P2P。
消息并没有你所谓的类型,Flex使用的是Consumer/Producer的方式,也就是消息的分发与订阅模式。
BlazeDS。另外,消息机制也只能发送较简单的字符串,当然你可以对某个Object进行序列化/反序列化操作,不过这样一来,不如直接使用Remote方便,而Remote则有你说的回调函数。

王磊-Kenshin
王磊-Kenshin
回复 @大东哥 : :)
大东哥
大东哥
了解了。
0
Jacle
Jacle

你好,我曾经开发过一个系统使用过flex,在使用它的过程中遇到了很多的问题,想请教专家一下:

1、flex中的调试如何调试

2、flex中写页面使用mxml还是使用as来写,因为mxml直接写可以预览界面,也很好调试,相比之下写as来很难发现错误。

3、关于flashplayer中嵌入一个html页面,只能用Iframe的吗,但是iframe有一个缺陷,就是它是浮动在页面上的,如果页面有一个可以移动位置的对话框,如果拖动到iframe的区域会被iframe的页面遮挡,此问题有更好的解决方案吗?

4、有没有类似java第三方类库的资源站点,能够推荐几个。

谢谢

0
王磊-Kenshin
王磊-Kenshin

引用来自“LarryJacle”的答案

你好,我曾经开发过一个系统使用过flex,在使用它的过程中遇到了很多的问题,想请教专家一下:

1、flex中的调试如何调试

2、flex中写页面使用mxml还是使用as来写,因为mxml直接写可以预览界面,也很好调试,相比之下写as来很难发现错误。

3、关于flashplayer中嵌入一个html页面,只能用Iframe的吗,但是iframe有一个缺陷,就是它是浮动在页面上的,如果页面有一个可以移动位置的对话框,如果拖动到iframe的区域会被iframe的页面遮挡,此问题有更好的解决方案吗?

4、有没有类似java第三方类库的资源站点,能够推荐几个。

谢谢

问题1:
   你可以使用Flash Builder,它有Debug功能(逐行调试等),当然,你也可以使用其他第三方的调试工具,我推荐:MonsterDebugger,地址:http://demonsterdebugger.com/

问题2:
    具体问题具体分析,不会出现用MXML写就一定好于AS(反之也是一样),如果作为初学者的话,还是推荐用MXML方式。

问题3:
    我做过这方面的项目,目前只能使用iFrame方式。关于iFrame被遮挡的问题我也遇到过,没有什么好的解决方案,我当初的方案是:当移动iFrame的时候,隐藏这个iFrame,移动完毕后,再显示。

问题4:
   你可以安装TourDeFlex,地址:http://www.adobe.com/devnet/flex/tourdeflex.html

返回顶部
顶部