我已经在flex(cairgorn)+ spring + blazeDataservice应用程序中工作了几年,使用blazeDataservice连接到后端,现在它变得很大并且需要花费太多时间来加载,以及使用它的人,通常需要它定期使用它。
我的国家的互联网带宽没有变得越来越好,实际上它变得越来越糟,所以应用程序越来越大,带宽越来越差,因此加载它的速度越来越慢。
我想知道如何让客户端安装在人们的计算机上,我会将一个flex在线应用程序变成一个桌面应用程序,而无需重新设置它。我只需要有人指出我正确的方向,我正在考虑两个选择:
1.-可以变成土坯空气吗?是不是adobe air桌面?
2.-也许闪存在人们的桌面上运行?
我需要一切能够像今天一样对抗主机弹簧后端
非常感谢!
答案 0 :(得分:3)
要明确:
如果它是应用程序(SWF)本身的大小,而不是正在执行的查询,另一种加速的方法是在不构建桌面(AIR)版本的情况下使用Flex调用模块的方法。
基本上你会把你的应用分成更小的部分,只在必要时加载。
如果您执行桌面(AIR)路由,您可能还希望探索仅在需要时与服务器同步的本地SQLite数据库,从而进一步减少Internet连接问题。
这当然会增加你的开发时间,但考虑到你所描述的情况,这似乎是一个不错的选择。
至于从哪里开始,从Web切换到桌面(AIR)应用程序就像将主MXML标签从(在Flex 3中)mx:Application更改为mx:WindowedApplication并启动应用程序一样简单。
更新后续问题:
很难说在不知道你的代码目前是如何构建的情况下会涉及多少重写,但是怀疑它是一个重大的重写。
作为一项实验,我建议如下:
您应该看到的是,从功能或编码的角度来看,您可能根本没有将它包装在模块中,但是模块将被编译为单独的SWF,Flex将根据需要处理它
如果一切正常并且有意义,我会开始将您的代码片段分解为模块,看看是否开始解决您的问题。
答案 1 :(得分:2)
Adobe AIR是正确的方法。它本质上是#2,通常你几乎可以直接发布你所拥有的AIR而不是web,它只是有效。花式!