2011-06-14 130 views
1

我们已经在Flex(cairgorn)+ spring + blazeDataservice应用程序中使用blazeDataservice连接到后端,现在它变得非常大并且花费太多时间来负载,并且使用它的人,通常需要它定期使用它。如何将flex在线应用程序转换为桌面应用程序?

我国的互联网带宽并没有越来越好,实际上它变得越来越糟,所以应用程序变得越来越大,带宽越来越差,所以加载它的速度越来越慢。

我想知道如何让客户端安装在人民电脑上,我将把一个flex在线应用程序变成桌面应用程序,而无需重新启动它。我只需要有人指点我正确的方向,我想到了2个选项:

1.-它可以变成土坯空气吗?是不是Adobe AIR桌面?

2.-也许是在人们桌面上运行的闪存?

我需要的一切对主机弹簧后端的工作就像今天

非常感谢您!

+1

已经回答:http://stackoverflow.com/questions/93359/can-i-generate-a-flex-web-and-air-desktop-app-from-the-same-source-code通过回答Marc休斯是最好的一个IMO – RIAstar 2011-06-14 14:20:03

+1

顺便说一句:没有重写,这个桌面应用程序仍然需要加载所有内容。您仍然需要添加一些本地存储逻辑并与服务器进行同步。 – RIAstar 2011-06-14 14:26:24

+0

这听起来像你感觉[技术债务]的影响(http://stackoverflow.com/questions/1258775/what-is-technical-debt)。从你所描述的,重写几乎是不可避免的。您等待的时间越长,添加的功能越多,只会使重写更重。 – elekwent 2011-06-15 06:41:16

回答

3

只是要清楚:

如果是应用程序(SWF)本身的大小,而不是执行的查询,另外一种选择,以加快速度,而无需建立一个桌面(AIR)版本,将使用Flex调用Modules的内容。

基本上,你会打破你的应用程序成小块,只有在必要时加载。

如果您使用桌面(AIR)路由,您可能还需要探索本地SQLite数据库,该数据库仅在需要时与您的服务器同步,从而进一步减少互联网连接问题。

这当然会增加您的开发时间,但在您描述的情况下,它似乎可能是一个不错的选择。

至于从哪里开始,从Web切换到桌面(AIR)应用程序就像将主MXML标记从(在Flex 3中)mx:Application更改为mx:WindowedApplication并启动您的应用程序一样简单。响应

UPDATE跟进的问题:

很难说多少会重写不知道你的代码是目前的结构方式参与,但怀疑这将是一个重大的改写。

作为一个实验,我建议如下:

  1. 创建一个新的Flex应用程序。
  2. 创建一个新模块。
  3. 添加一些简单的MXML和ActionScript到模块。
  4. 将模块的一个实例添加到主视图。
  5. 运行/编译。

你应该看到的是,根据功能或编码的观点,你可能还没有将它封装在模块中,但是模块已经被编译到一个单独的SWF中,并且Flex将处理加载它根据需要。

如果这一切都有效并且有意义,我会开始将你的代码碎片分解成模块,看看它是否能够解决你的问题。

+0

你好,是的问题是SWF的大小,但是对于打破应用程序,我将不得不做一些重写,或者我误会了?如果可以的话,我可以指点一下这个模块的破解?关于桌面(AIR)SQLite路由,程序本身包含内存中的所有内容,只在需要时才会发送到服务器,并且它需要到服务器,因为应用程序的另一部分碰到了服务器并创建了jstl/jsp页面在线。我会尝试标签并阅读下面的教程并发回 – Ernest 2011-06-14 18:37:02

2

Adob​​e AIR是正确的选择。它基本上是#2,并且通常你几乎可以直接发布你对AIR的直接而不是网络,它就可以工作。花式!

+0

这将是一个下载,然后双击,然后使用应用程序吧?哇!我应该从哪里开始阅读? – Ernest 2011-06-14 14:08:14

+0

@Ernest:Adobe有一些入门文章:http://www.adobe.com/devnet/air/articles/getting_started_air_js.html和http://www.adobe.com/devnet/air/articles/getting_started_air_as。 html – Jordan 2011-06-14 15:35:17

相关问题