使现有的c++项目在Firefox OS中工作

Making existing C++ project to work in Firefox OS

本文关键字:Firefox OS 工作 项目 c++      更新时间:2023-09-26

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

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

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

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

没有办法在Firefox OS上使用非根设备安装二进制文件。打包应用只支持HTML/JS/CSS: https://developer.mozilla.org/en-US/Marketplace/Publishing/Packaged_apps

WebIDL在这里没有帮助,因为您也不能修改Gecko或任何已经安装的底层二进制文件。这只适用于在操作系统上进行分支并希望添加新的Web api的情况。

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

把本地代码放在远程web服务后面合适吗?这有一些缺点,比如确保它是安全的,让你的应用程序需要一个服务器连接(可能是离线目的的缓存),但如果你已经运行了一个web服务,特别是如果你的应用程序已经需要一个连接,那么这并不是一个巨大的区别。