0

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

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

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

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

4

1 回答 1

4

没有办法在没有根设备的 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 服务,特别是如果您的应用程序已经需要连接,那么这并不是很大的区别.

于 2014-03-12T04:12:35.740 回答