使现有的C ++项目在Firefox OS中运行

时间:2014-03-12 02:36:29

标签: javascript gecko firefox-os emscripten webidl

我有一个适用于linux,windows和android的现有c ++ / java项目,我也希望它能在firefox OS(B2G)上运行。 我为FFOS构建了我的项目的二进制文件(守护进程和客户端),并使用adb shell在命令行上对它们进行了测试。问题是如何使用javascript通过用户应用程序访问该守护进程。

由于FFOS将HTML / JS / CSS用于应用程序,因此一个建议是使用“emscripten”工具将整个项目转换为javascript。但考虑到我的项目的大小和复杂性,这似乎不起作用(许多错误,缺少头文件等)。它使用一些低级功能,如创建UDP数据包,发送多播数据包以及监听和连接到tcp / udp端口; javascript API缺少这些功能(我错了吗?)。

另一个建议是使用Web IDL(需要修改FFOS gecko引擎),但我不确定它在我的场景中如何帮助我。

任何想法/提示/建议将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:4)

无法在具有非root设备的Firefox OS上安装二进制文件。打包的应用程序仅支持HTML / JS / CSS:https://developer.mozilla.org/en-US/Marketplace/Publishing/Packaged_apps

WebIDL在这里没有帮助,因为您也无法修改已安装的Gecko或任何底层二进制文件。这只适用于您要求操作系统并希望添加新的Web API。

emscripten可能是一个不错的选择 - 有一个活跃的Google群组,您可以在那里找到有关编译错误的帮助:https://groups.google.com/forum/#!forum/emscripten-discuss

将您的本机代码置于远程Web服务之后是否合适?这有一些缺点,例如确保它是安全的,并使您的应用程序需要服务器连接(可能需要缓存用于离线目的),但如果您已经运行了Web服务,特别是如果您的应用程序已经需要连接,那么它就是没有太大的区别。