【问题标题】:Using AIR to add desktop GUIs使用 AIR 添加桌面 GUI
【发布时间】:2010-08-17 17:29:17
【问题描述】:

假设我开发了一个应用程序,其逻辑为 CLI 程序,可以编译到各种平台。要添加 GUI,我可以为每个平台单独开发本机版本,或者我可以使用跨平台工具,如 Tcl/Tk、wxLua 或 PyGTK。一些人,例如 Bruce EckelJames Ward,为此在 Adob​​e AIR 上推广 Flash/Flex。

我已经调查过了,但无法找到这些基本问题的明确答案。

原生外观和感觉 Flex 4 中的 Spark 架构改进了对蒙皮的支持,似乎可以匹配任何 L&F。有哪些资源可用于实施 Windows/GTK+/Cocoa L&F?需要做多少工作?

响应能力 我会将这些流行的工具包从最时髦到最不时髦进行排名:FLTK、FOX、GTK+、Tcl/TK、Swing、Qt。 AIR 适合这个范围的什么地方?

稳定性 对于一个长时间运行的应用程序,具有广泛的用户交互,稳定性和内存管理如何?我听说内存泄漏是 AIR 的一个重要问题。

本地系统访问 我认为对 AIR 1 最大的抱怨是它与本地系统的隔离。现在,AIR 2 添加了通过 stdin/stdout 与 NativeProcess 类的通信。这对于在 GUI 中实现您通常需要的功能效果如何?

包装尺寸 从带有几个按钮和文本框的小界面到像 IDE 这样的东西,与 Tcl/Tk 或 wxPython 中的东西相比,AIR 版本会有多大?

手工编码 如果您不使用 Flash Builder,相对而言,创建或维护一个不平凡的项目有多难?

【问题讨论】:

    标签: apache-flex user-interface air desktop-application


    【解决方案1】:

    原生外观和感觉:可以对 Flex 应用进行皮肤处理以使其看起来原生。并根据操作系统加载不同的皮肤。 www.scalenine.com 上已经有 Windows 和 Mac 皮肤(不确定它们是否与 Flex 4 兼容)。但这些皮肤永远不会 100% 匹配,因为它是在复制 l&f,而不是实际使用原生小部件。

    响应能力:我猜它可能介于 Swing 和 GTK+ 之间。但我没有基准来支持这一点 - 只是我的个人经验。

    稳定性:只要代码良好并且对象正在被 GC 处理,那么一切都会好起来的。 AIR 2 修复了一些导致您引用的问题的内存泄漏。

    本地系统访问:NativeProcess 允许您做几乎任何事情。但更复杂的用例可能需要Merapi 之类的东西。

    包大小:Flex 中设置的整个 UI 组件约为 2MB。然后任何自定义代码将添加到该数字。通常,位图资源才是真正膨胀的 SWF 文件。您可以查看 Apparat 作为减小 SWF 文件大小的方法。

    手动编码:我一直只使用开源 Flex SDK、AIR SDK 和 vim(我选择的文本编辑器)手动编码。这就是你真正需要的。但是你会在代码完成、可视化调试等方面失去优势。但是还有一些其他开源工具可以做这些事情。

    【讨论】:

    • 非常感谢。 Scalenine 擅长展示 L&F 的可能性。至于大小,您能否处理必须包含 AIR 运行时库的情况?我还没有找到任何关于你可以做些什么来最小化分布大小以及你可以得到多小的描述。
    • AIR 运行时是从 AIR 应用程序单独安装/下载的。没有办法减少运行时的大小。
    猜你喜欢
    • 2013-07-18
    • 2015-02-08
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多