我开始构建" hybrid"使用Cordova和AngularJS与Ionic的移动应用程序。我可以通过在本地创建html,js和css文件并使用file:// url'在浏览器中运行这些文件来构建示例应用程序。这工作正常,准备好后我可以运行cordova构建过程并在Android模拟器中运行应用程序或将apk部署到我的设备。这一切都适用于我的简单演示应用程序。但是现在,当我开始构建一个应用程序,它将使用Angular服务从本地存储加载JSON(如果是脱机),或者从远程REST API加载JSON时,我遇到了问题。在我开发时,从文件URL(文件://myapp/index.html)打开应用程序将导致浏览器无法对REST服务进行http调用(不同的来源等)。
这似乎是一个非常基本的问题 - 所以我的问题是,其他人如何开发和测试Cordova应用程序?你总是用" www" Web服务器上的文件,如Node?如果是这样,当您在Cordova应用程序中使用这些文件时,http://来自file:// url的请求是否会成为问题?
更正:我可以从本地文件系统上的页面访问远程REST服务,只要远程服务包含" Access-Control-Allow-Origin"头。所以,我认为这回答了我的问题。我可以使用本地文件系统中的所有html和js进行开发,让JS进行远程调用,并使用file:// url' s在浏览器中运行进行测试。但这通常是您开发Cordova / PhoneGap应用程序的开发环境吗?
答案 0 :(得分:3)
对于Cordova应用程序,我使用Chrome在我的计算机上本地开始开发。我必须运行具有禁用安全性的Chrome(允许交叉源)。
在OSX上,您可以通过运行以下终端命令来运行已禁用安全性的Chrome(确保Chrome首先完全关闭)。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --allow-file-access-from-files
一旦我到了需要开始集成Cordova插件的地步,我就构建了Cordova项目并使用Android平板电脑进行测试(Android模拟器非常糟糕)。对于Android上的远程Web调试,我使用weinre。
我从不亲自在网络服务器上构建或测试我的代码,它总是在我的桌面或移动设备上本地化。我通过jQuery的Ajax进行所有Web服务调用。
答案 1 :(得分:3)
我可以推荐英特尔XDK(fromer app mobi) http://xdk-software.intel.com/
它在桌面上有一个很好的模拟器,可以 它适用于离子框架和角度扩展(只需注释掉cordova.js 脚本并添加intelxdk.js
<!--<script src="cordova.js"></script>-->
<script src='intelxdk.js'></script>
它还可以使用包装器应用程序进行云测试,并为应用商店构建云构建
到目前为止工作正常,所以我可以推荐这个
我也喜欢AppGyvers(sterois)平台,但它在Android上却没有那么好用
答案 2 :(得分:2)
有许多混合应用程序开发工具。但是,如果您正在寻找开发混合应用程序(phonegap + angularJS +后端),我想推荐Monaca。我刚刚发现它。它非常酷,因为它的框架和自己的后端都有phonegap。此外,它还有一个名为OnsenUI的UI框架,它基于Topcoat和AngularJS。
它还提供了在混合应用程序中使用的本机组件。令人印象深刻的是,您甚至不需要在开发过程中每次都将应用程序构建和安装到您的设备上。这就是我最喜欢的事情。
我希望它有所帮助,因为我认为它就像你要求的那样。我只是一个新手开发人员,我发现它很容易使用。
答案 3 :(得分:1)