2010-08-17 57 views
1

假設我開發了一個具有邏輯的應用程序,作爲可以編譯到各種平臺的CLI程序。要添加一個GUI,我可以爲每個平臺分別開發原生版本,或者我可以使用跨平臺工具,如Tcl/Tk,wxLua或PyGTK。有些人,如Bruce EckelJames Ward,爲此在Adobe AIR上宣傳Flash/Flex。使用AIR來添加桌面GUI

我已經看過它,但一直未能找到這些基本問題的明確答案。

本機的外觀和感覺 Spark體系結構中的Flex 4改進了剝皮到可以匹配任何L- & F中的程度的支持,它似乎。哪些資源可用於實現Windows/GTK +/Cocoa L & F以及它有多少功能?

響應速度 我會排這些流行的工具包從多到少活潑:FLTK,FOX,GTK +,TCL/TK,鞦韆,Qt的。 AIR在這個範圍內適合哪裏?

穩定性 對於具有廣泛用戶交互的長時間運行的應用程序,穩定性和內存管理如何?我已經讀過內存泄漏是AIR的一個重要問題。

本地系統訪問 我認爲關於AIR 1最大的抱怨是它與本地系統的隔離。現在,AIR 2通過stdin/stdout添加了NativeProcess類的通信。這對於實現GUI中通常需要的功能有多好?

包裝尺寸 從幾個按鈕和文本框多達像一個IDE未成年接口一應俱全,有多大的將AIR版本是,比起說,在的Tcl/Tk或wxPython的東西嗎?

手寫代碼 如果您不使用Flash Builder,相對而言,創建或維護非平凡項目有多難?

回答

1

本機的外觀和感覺:它可能皮膚的Flex應用程序,使其看起來本土。並根據操作系統加載不同的皮膚。已有Windows和Mac皮膚(不確定它們是否與Flex 4兼容)可用於www.scalenine.com。但是這些皮膚永遠不會100%匹配,因爲它複製了l,而實際上並不使用本地小部件。

響應:我想這可能是Swing和GTK +之間的某個地方。但是我沒有基準來支持這個 - 只是我個人的經歷。

穩定性:只要代碼良好,對象正在GC'd,那麼事情應該沒問題。 AIR 2修復了一些導致您參考的問題的內存泄漏。

本地系統訪問:NativeProcess允許您執行任何操作。但更復雜的用例可能需要類似Merapi

包裝尺寸:在Flex中設置的整個UI組件大約爲2MB。然後任何自定義代碼將添加到該數字。通常位圖資源是真正膨脹SWF文件的東西。您可以查看Apparat作爲減小SWF文件大小的一種方法。

手寫代碼:我只用開源Flex SDK,AIR SDK和vim(我選擇的文本編輯器)手工編寫代碼。這就是你真正需要的。但是你會失去代碼完成,可視化調試等工作。但是有一些其他的開源工具可以完成這些工作。

+0

非常感謝。 Scalenine擅長展示L&F的可能性。至於大小,你可以看待你必須包含AIR運行時庫的情況嗎?我還沒有找到任何描述,你可以做什麼,以儘量減少分配大小,你可以得到多小。 – user287424 2010-08-24 16:11:30

+0

AIR運行時是從AIR應用程序單獨安裝/下載的。無法減小運行時的大小。 – 2010-08-26 03:18:32