2009-09-20 135 views
1

我实际上正在拾取flex。当我做了一些“Hello World”应用程序时,我注意到Flex与HTML版本相比似乎加载速度较慢(一旦加载速度正常)。 Flex是慢吗?也许它会更好,如果我把它比较复杂的应用程序,说几个形式等?Flex是否缓慢(加载)?

我实际上打算学习AIR。我觉得Flex比HTML更适合真实应用,因为它具有数据绑定功能等,但是如果即使是Hello World应用程序的速度很慢,我也不知道它如何在更复杂的应用程序中执行。

我不知道,但是AIR是为HTML设计的,比HTML设计的Flash & Flash?

回答

3

hello world Flex应用程序可能导致一个大约300k的SWF文件(应用程序)。下载该SWF文件很可能是需要花费时间的。如果是这样,那么有一些方法可以减小文件大小。通过将所有Flex类放入跨站点跨应用程序缓存中,Flex框架RSL可以显着缩小SWF的大小。另外,请确保您正在执行项目的发布版本。这也通过删除调试信息来显着减少SWF大小。

Flex应用程序与HTML应用程序有很大不同。他们运行客户端,然后一旦加载,他们通常只在需要获取或更新数据时向服务器发送请求。因此,最初的下载大小将超过HTML,但随后的用户交互应该非常灵敏。像AMF这样的二进制序列化协议也可以帮助显着减少通过线路传输的数据的大小。

Flex应用程序可以在带有Flash Player的浏览器中运行,也可以在带有Adobe AIR的桌面上运行。但它与用于创建任一类型的应用程序的架构和组件相同。此外,对于Adobe AIR,应用程序需要安装(以及Adobe AIR运行时)。因此Adobe AIR可能不会帮助您更快地应用程序加载。

+0

除了AMF之外,没有关于使用HTML/js和“ajax”调用无法完成的第二段。对于HTML/js请求的压缩,AMF不会有太大的区别。 – Glenn 2009-09-21 08:58:40

+1

我建立了一个名为人口普查的应用程序,它恰好测量了这一点: http://www.jamesward.com/census AMF确实有其他优点。更快的序列化,更快的反序列化等。 – 2009-09-21 12:28:24

1

Flash的加载速度比HTML慢,因为它们也加载了整个flex框架。所以下载要比简单的HTML页面要多得多。这就是说,更大的应用程序不一定会在加载时间上更好。

如果你想利用矢量图形和高级动画,甚至在使用svg/canvas/vrml和javascript框架的浏览器中使用它们,你只需要真正需要flex over HTML。

+0

默认情况下,Flex应用程序只加载使用的框架部分。使用Flex框架RSL将导致整个框架被下载(大约500k),但每个版本的Flex只会发生一次。框架RSL进入跨域,跨应用程序缓存。 – 2009-09-20 13:21:53

+0

是的,但即使使用RSL,您仍然可能需要拉下比html更多的字节。但总是有例外,具体取决于网站的内容。 – Glenn 2009-09-20 20:45:44

+0

当然你的意思是** Flex **的加载速度比HTML慢。 ** Flash **不需要Flex框架。 – 2009-09-21 08:06:06