目标是记录和分析GPS轨迹:
可以使用一些特定于平台的代码,但我想在iOS,Android和Web AND 之间共享“分析”部分,以便能够在iOS / Android下运行此代码应用程序背景。
我有一些用JavaScript编写的“分析”代码,所以我开始按以下顺序查找选项:
1)在网络应用中执行所有操作
iOS Safari在后台运行时停止运行JavaScript。
没有运气。
2)使用PhoneGap或类似的
JavaScript在后台运行时停止。建议将所有服务代码编写为本机插件。
没有运气。
3)使用Titanium
仅花了两周才发现Titanium中的Android服务实现不完整。它缺少startForeground(..),用于要求Android不要杀死服务。有人试图为此实现本机模块,但报告说,虽然服务本身正在运行,但JavaScript却没有。
4)使用Marmalade移动设备并将C ++编译为JavaScript for Web
快速谷歌搜索说无法从服务
运行C ++代码5)使用MoSync for mobile并将C ++编译为JavaScript for Web
快速谷歌搜索表示他们不支持服务。另一方面,我在他们的来源中看到了startForeground(..),所以也许值得重新检查。
7)用C语言编写:iOS用户,JNI用于Android,编译为JavaScript用于Web
尚未检查
6)将Codename One用于移动设备并将Java编译为JavaScript for Web
尚未检查
我的问题:
Q1。如果能够或不能用于此类应用,您能否确认上述每个选项
Q2。我对Titanium特别感兴趣(已投入使用)。我正在考虑一个带有虚拟服务的原生Android模块,它不会做任何事情,但要求Android不要杀死真正的Titanium服务与Activity一起运行的进程。
它会起作用吗?
Q3。其他选项/一般建议?
谢谢。
答案 0 :(得分:1)
当我们遇到“超级duper”框架限制时,我带来了本地知识:为Phonegap添加一个插件,学习如何链接它,为两个平台编写。
Titanium没有经验,抱歉。我认为我甚至不会打开他们的页面来阅读他们的问候语。
回到原来的任务,再看一遍你的鞋子(因为我会问你,你应该回复)
“目标是记录和分析GPS轨迹: 我想在iOS,Android和Web之间共享“分析”部分,以便能够在iOS / Android应用程序背景下运行此代码。“
建议1:只需用C / C ++重写代码即可。使用Android SDK / NDK和iOS编译.so链接。
建议2:“我有一些”分析“用JavaScript编写的代码,所以我开始寻找选项”将代码移动到服务器端,在那里运行node.js和现有代码。您的应用会收到结果通知。
建议3:最后编写真正的平台特定应用程序并完全使用硬件+操作系统功能。 JavaScript的目的是做其他事情然后做硬数学。