最近我被介绍给 mozilla XUL runner 作为前线 GUI 的框架,这对我来说似乎是基于 xul 和 js 事件的 idial 框架(没有 GUI 人),并让我有可能使用 c++ 作为后端(xpcom)。它的接缝好到完美。我的问题是针对那些在这个框架中过期的人,可以给我一些关于这个框架的局限性的观点。我也可以将商业软件基于 XULrunner 二进制文件吗?有人知道这个许可证问题吗?
3 回答
XUL 很棒。
一个缺点是它没有被推广为桌面应用程序开发框架。所以工具支持比微软的差,不是所有的东西都记录在案,它没有组件来做所有的事情。
如果您打算使用 XUL 进行认真的开发,请准备好学习该框架,包括其实现细节。基本上,如果您使用的是 Firefox 不主动使用的组件,您将遇到需要自己解决的问题。
该框架是开源和自由许可的,允许您对其进行修补并在应用程序中使用修补的运行时。
XUL 只是更大的“Mozilla 应用程序框架”的一部分。要充分利用这个出色的 x-paltform 开发环境,需要学习很多概念性的东西。就像之前的海报所说,好的文档很难梳理。
我建议你阅读 McFarlane 的书,这里有一个在线版本......
它提供了非常彻底的处理——因此您可以像理解平台一样编写代码,而不是像从网络上积累黑客一样。您可以做的另一件事是下载编写良好的基于 Mozilla 的开源应用程序,例如 Komodo Edit 和 Songbird,然后浏览它们的 chrome 目录。通过查看工作中的 XUL 专家,您将节省大量时间。
话虽如此,我在商业开发方面遇到的一个主要限制是 XUL 的设计要求您使用 JavaScript 编写大量客户端代码。这意味着您的客户(和竞争对手)最终会得到很多您的源代码。解决这个问题的明显方法是使用另一种语言编写“核心”专有东西代码,并通过 XPCOM 将其绑定到 JS。我听说过的另一种方法(我还没有尝试过)是使用 mozilla 的 JSXDRAPI 将 JS 编译为字节码。Firefox 本身在内部执行此操作以缓存 XUL/JS 文件。不过,我还没有遇到让 xulrunner 识别已编译的 .JSC 文件的人。
埃德蒙·贝古米萨。