我已经阅读并分析了一些使用 Phonegap 创建应用程序的示例,并且我已经看到,如果我在 Eclipse 中使用模拟器工作,整个开发过程非常缓慢。
我想也许我可以在普通浏览器上开发所有 JavaScript 和模板的东西,在那里快速调试并创建屏幕,然后,当有时间为手机使用一些特殊的东西时,比如相机或数据库,然后将整个项目复制到 assets/www 文件夹并在那里进行最终实现。
你有什么事吗?这可能吗,还是我错过了什么?
我已经阅读并分析了一些使用 Phonegap 创建应用程序的示例,并且我已经看到,如果我在 Eclipse 中使用模拟器工作,整个开发过程非常缓慢。
我想也许我可以在普通浏览器上开发所有 JavaScript 和模板的东西,在那里快速调试并创建屏幕,然后,当有时间为手机使用一些特殊的东西时,比如相机或数据库,然后将整个项目复制到 assets/www 文件夹并在那里进行最终实现。
你有什么事吗?这可能吗,还是我错过了什么?
你是对的,例如你可以..
我发现通过首先将其作为 Web 应用程序进行开发和测试,我可以更快地获得用户反馈并修复错误。这是快速构建手机应用程序的好方法。
这就是NS Basic/App Studio背后的想法。它为您提供了一个不错的 IDE,带有拖放设计屏幕、jQuery Mobile 对象模板和常用库。它会生成一个您可以在浏览器中测试的 Web 应用程序,然后有一个 Make App using PhoneGap 选项。
您可以使用 JavaScript 或非常类似于 VB 的 Basic 方言进行编程。
(披露——我为 NS Basic 工作。制作这个产品很有趣!)
对于 Android 开发,您确实需要使用实际设备。模拟器适用于 iOS,但 android 模拟器速度非常慢,并且与实际的最终用户体验不太一样。
不过,您在使用桌面浏览器时走在正确的轨道上 - 刷新网页比运行完整版本要快得多。
我使用 jekyll --auto --server 生成应用程序 HTML,因此桌面预览始终在 http 上,这使得检测 phonegap 相当容易。
下面是我的应用程序启动代码 - 完整的工作代码位于https://github.com/tqc/ChondricJS/blob/master/src/app.js
if (settings.mightBePhoneGap && document.location.protocol == "file:") {
// file protocol indicates phonegap
app.isPhonegap = true;
app.platform = "cordova";
document.addEventListener("deviceready", function() {
console.log("appframework deviceready");
console.log(device.platform);
app.isSimulator = device.platform.indexOf("Simulator") > 0;
$(initInternal);
}
, false);
} else {
// no phonegap - web preview mode
app.platform = "web"
$(initInternal);
}
在您的应用程序代码中,检查 app.platform,这样您就不会尝试从桌面浏览器调用任何插件,因为桌面浏览器不会提供这些插件。
我所做的只是将我所有的 javascript 文件上传到网络服务器并使用它们。
像这样,我的三星使用来自服务器的 JS 文件,上传这些文件比使用 phoneGap 重建和重新启动应用程序要快得多,只要您在 javascripts 中进行小的更改。
当然,这并不能解决所有问题(尝试不同的手机),但对我来说效果很好。
准备好后不要忘记使用本地副本,否则您的应用程序将始终需要互联网连接;)
您可以使用此应用程序来简化您的开发!
https://play.google.com/store/apps/details?id=org.Bellinux.CordovaFast