2009-09-20 136 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