2012-11-16 179 views
1

我已阅读并分析了一些使用Phonegap创建应用程序的示例,并且我已经看到,如果我在Eclipse中使用模拟器工作,整个开发过程非常缓慢。快速开发应用程序Phonegap

我想也许我可以在普通的浏览器上开发所有JavaScript和模板的东西,非常快地调试并创建屏幕,之后,当有时间使用一些特殊的东西用于手机,如相机或数据库,然后将整个项目复制到资产/万维网文件夹并在那里进行最终实施。

你有什么事?会是这个可能,还是我错过了什么?

回答

2

你是对的,比如你可以..

  1. 使用HTML 5创建为一个Web应用程序,JavaScript和CSS;
  2. 使用像jQuery Mobile这样的库,您将创建一个单页的应用程序(在index.html中),jQuery Mobile将提供大量有用的手机UI功能(这将在不同的手机浏览器上工作 - 这意味着phonegap可以创建针对不同平台的应用);
  3. 在浏览器中测试它;
  4. 将纹波仿真器添加到Chrome浏览器以测试手机仿真器的外观和功能;
  5. 将其测试为可在手机上运行的网络应用程序;
  6. 按照您的建议,将所有网络应用程序文件复制到www文件夹中。
  7. 现在添加phoneGap功能,构建应用程序并开始在真实手机上测试它;

我发现,通过首先开发和测试它作为一个web应用程序,我可以更快得到用户反馈并修复错误。这是快速构建电话应用程序的好方法。

+0

快我有巨大的麻烦,无论我做什么我无法获得大部分功能来工作..所有返回'不能调用未定义的嘟嘟声的方法',但其中一些可以在我的手机中工作。但大多数不工作在任何地方。 –

+0

这是一个版本的问题 –

1

对于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所以你不要尝试调用任何插件形成的桌面浏览器,不会有这些插件可用。

1

这就是NS Basic/App Studio背后的想法。它给你一个漂亮的IDE,带有拖放设计屏幕,jQuery Mobile对象模板和公共库。它生成一个可以在浏览器中测试的Web应用程序,然后使用PhoneGap选项创建应用程序。

您可以使用JavaScript编程或使用VB编写的非常类似VB的方言。

(披露 - 我为NS Basic工作,制作这款产品非常有趣!)

+0

的最佳解决方案,但第一行的“在Windows上开发”是我的:-) –

+0

我们在这里是巨无霸球迷的问题,但没有原生版本。它与Parallels,VMWare等运行良好。 – ghenne

+0

好消息!我们现在也发布了本地Mac版本! – ghenne

0

我做的只是上传我的所有的JavaScript文件到网络服务器,并使用这些。

这样,我的三星从服务器使用JS文件并上传这些文件去得更快,然后重建并重新启动使用PhoneGap的,你让你的JavaScript的小变化随时应用。

当然,这并不能处理所有的问题(尝试不同的手机),但对我来说它的伟大工程。

不要忘了,当你准备好以后使用的本地副本,否则你永远需要为您的应用程序连接到互联网,使用科尔多瓦)

相关问题