锁定老帖子 主题:Adobe AIR这个鸡肋,我有话说
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-23
背景:大约在09年的下半年用Adobe AIR技术做公司的BI系统,因为看重它在图表,地图上的优势。 刚刚开始还比较顺利,界面漂亮,与后台服务器交互有AMF。一起都是那么的顺利,可随着项目 的扩大,代码的增加,问题就暴露出来了,表现在:
1:内存占用非常大
随着打开模块数量的增加,使用时间的增长,程序占用的内存不断发展壮大,一般都保持在 700MB到1GB多,一般的机器哪受得了呀。flash player的GC真是悲剧呀。
2:程序运行速度
因为AIR是单线程的程序, 所有多线程的功能都是使用timer模拟的,随着程序逻辑的增加,你 会发现AIR程序慢如蜗牛,这种现象在Adobe官方的示例中都可以看到(特别是它的那个Media player)。
3:功能太简单
Adobe似乎犯了当初java swing一样的错误那就是与操作系统的东西格格不入,与activex组件, dll库等这些成熟的工具库整合非常的麻烦。要想成为一个成熟的桌面程序开发平台与本地系统的集成应该 很方便才是。看看win家族的所有东西都能集成得很好就可以说明这点了。
4:编译缓慢
经常会出现改动一点点儿地方,编译几分钟的情况,其实这种情况倒是可以避免的,将程序不断的抽象, 将那些公用的功能做成一个编译完成的swc库,这样程序就可以直接调用了,不用每次修改都编译啦。
基于上面的原因我说Adobe AIR比较鸡肋,欢迎大家拍砖 当然AIR还是有优势的,那就是开发出的程序漂亮呀,在成为一个成熟的桌面开发平台路上AIR还有很长的 路要走呀。
希望:
为了解决AIR遇到的问题,我产生了一个想法,因为AIR的原理就是让Flex运行在AIR runtime的基础上实现 的,Flex的本地操作都是通过AIR runtime实现的。 所以如果使用Java作为Flex的运行环境,让Flex的本地操作通过调用Java实现,这样程序的核心业务逻辑可以 通过Java实现,Flex做程序界面展示,那样就可以完美地解决AIR程序内存泄漏,运行速度慢,功能不够强大等等 问题了吗?
咱说干就干,经过一年多的开发与改进,第一个稳定的版本终于大功告成啦。当然还集成了eclipse开发工具的哟, 强大吧!这个东西的名字叫——smartinvoke.
网站地址:http://smartrcp.org/si/
文档地址:http://www.iteye.com/wiki/smartinvoke SmartInvoke的优势如下:
2. 通过Java实现了多线程。
3. 解决了Flex内存不容易释放的问题。 主要是通过将关闭窗口所加载的swf文件unload掉。
smartinvoke面向的开发者:1:Adobe AIR开发者 接触了smartinvoke后你会发现它比AIR优秀得多,因为通过Java你可以掌控程序的一切。
2: 想做客户端程序开发的Java开发者
通过Flex做程序的界面部分,你会发现程序的界面开发速度不但快而且界面很漂亮哟。
3:Flex开发者
如果你想开发桌面程序,不妨可以接触一下smartinvoke。
smatinvoke授权方式:
对于所有程序完全免费使用,在使用过程中遇到的法律问题与smartinvoke无关
注:欢迎大家多多提意见,我们会把smartinvoke做得越来越好的
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-02-23
最后修改:2011-02-23
非常不错
看完后给我的感觉就是java来写逻辑和数据层,air来做展现层 唯一不好的地方就是用户必须同时会两种语言,因为air的地方不可能一点as都不写吧,如果你的框架可以让用户不用写一丁点actionscript,我觉得会更好一些 不过呢,java写逻辑始终没有js这样的语言方便,所以很纠结啊 |
|
返回顶楼 | |
发表时间:2011-02-23
hackwaly 写道 非常不错
看完后给我的感觉就是java来写逻辑和数据层,air来做展现层 唯一不好的地方就是用户必须同时会两种语言,因为air的地方不可能一点as都不写吧,如果你的框架可以让用户不用写一丁点actionscript,我觉得会更好一些 不过呢,java写逻辑始终没有js这样的语言方便,所以很纠结啊 确实,同时需要java与flex做开发,但是可以分工协作,Java开发人员专门做后台逻辑服务,Flex开发人员专门做前端显示,胡不干扰也不是挺好嘛 不过个人觉得Java写逻辑代码非常的合适,这与他语法严谨,易于调试分不开的 |
|
返回顶楼 | |
发表时间:2011-03-02
蜗牛兄又在宣传自己的smartinvoke了,
|
|
返回顶楼 | |
发表时间:2011-03-02
ligaibing 写道 蜗牛兄又在宣传自己的smartinvoke了,
嘿嘿,兄弟是群里的哪位? |
|
返回顶楼 | |
发表时间:2011-03-11
smartinvoke 写道 ligaibing 写道 蜗牛兄又在宣传自己的smartinvoke了,
嘿嘿,兄弟是群里的哪位? 网名是一样的,去年有在群里聊过几句的, |
|
返回顶楼 | |
发表时间:2011-03-21
Flex一样很悲催,你说的4个问题全部碰到了,自己通过自己管理对象的方式解决,目前效果还不错。
|
|
返回顶楼 | |
发表时间:2011-03-21
damoqiongqiu 写道 Flex一样很悲催,你说的4个问题全部碰到了,自己通过自己管理对象的方式解决,目前效果还不错。
很强大,不知道怎样实现对象管理呢? |
|
返回顶楼 | |
发表时间:2011-04-11
确实我编译一个air程序需要2分钟的时间,很不方便.楼主smartinvoke的动机很好,学习一下
|
|
返回顶楼 | |
发表时间:2011-05-25
你们都再说什么呢,咱还真看不懂了。
|
|
返回顶楼 | |