使用Phonegap进行本机应用程序开发

SaK*_*Ket 97 iphone html5 android cordova

我最近遇到了Phonegap.有没有人尝试过.它是一个令人难以置信的工具,声称开发人员可以使用基于HTML 5的框架,如Sencha touch和Jquery,同时可以访问手机上的本机功能.此外,代码可以通过一些努力从Android移植到Iphone.在我深入研究之前,我想知道论坛对Phonegap的体验是什么.有哪些难点,它是否真正适用于企业级应用程序开发.

TNC*_*TNC 95

我使用PhoneGap构建了几个应用程序,并且它提供的功能非常棒.我想指出一些快速笔记,这可能会对你有所帮助.

Disable device-based features you're not using 默认情况下,加速计,地理定位功能已打开.如果您不使用它们,我会关闭它们,因为您的应用程序将加载更快(初始化)并运行更顺畅.

onDeviceReady - 这是一旦电话差已加载并准备就绪时调用的方法.$(document).ready或者你习惯的任何东西,在这里并不真正适用 - 除非你只是做界面/硬编码的HTML东西.如果您正在与iPhone功能(如GeoLocation)进行交互,则需要在调用onDeviceReady 执行所有操作.

Pick a UI/library 接口/库,jquery-mobile,sencha touch,jqtouch等有很多选项.这些选项都提供了独特的方法和功能集.做一些研究并使用一个,但避免结合.您可以在这里阅读更多选项和工具:http: //www.phonegap.com/tool(链接已更新)

Also, more on just mobile development in general, with PhoneGap如果您正在寻找通过Android市场和iPhone App Store分发的应用程序,我会通过详尽的列表阅读有关如何开发应用程序的指南.例如,在上面的工具链接中,有一个名为Easy APNS的"工具/插件" - 虽然这对Android很有用 - 并且在iPhone上技术上可行,但它违反了开发协议,因为它声明必须使用Apple通知网络等等.这只是一个例子,但如果这是你的最终目标,那么阅读这些东西将为你省去很多麻烦.

总而言之,它非常适合轻量级应用,特别是如果您来自Web开发背景.LocalStorage,GeoLocation等工作得非常好.我希望这有点帮助...并且想提出问题.

附加编辑:

我真的认为这取决于你想做什么,以及你知道该怎么做.Matt指出,为iOS开发本机应用程序更好,等等.是的,如果你有时间和知识来学习 - 当然本机会更好.但PhoneGap适用于可以利用现有技能并构建应用程序的Web开发人员.此外,PhoneGap允许您快速构建应用程序,适用于iOS,Android,Symbian,Palm,Blackberry.对每个代码库进行微调.

  • 如果在一天结束时,你有时间和金钱学习不同的语言来构建适用于Android和iOS的本机应用程序 - 那么请务必这样做:)但对于我们大多数人来说,使用我们所知的来构建运行的应用程序在多种设备上真的很好,是没有道理的. (8认同)
  • 看来开发人员对Phonegap有所分歧. (2认同)

ATS*_*iem 52

以下是我为PhoneGap阅读的所有最佳性能指南...有很多需要警惕,以确保您拥有稳定,稳定的性能......但是您可以在一天晚上的阅读中选择它.

这是最好的掘金:

PhoneGap /移动Web性能提示

启用新功能

建筑

在Ext JS 4中构建您的应用程序:http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2


Mat*_*ing 29

在表达我对Phonegap的看法之前,我需要发布一个免责声明,说我绝不是一个网络开发者.对我来说,编写JavaScript和CSS就像拔牙一样.那就是说,我不喜欢Phonegap.

这个框架有一些非常吸引人的方面,主要是"一次写入 - 运行 - 任何一个"的吸引力和"我不想学习 - 目标-C?" 上诉.该框架甚至可以让您访问一些硬件功能,如加速度计.所有这些在某种程度上都是有效的.

也就是说,没有一个伟大的iOS应用程序是使用任何类型的跨平台框架构建的.本机UIKit控件为您处理了许多微妙而优雅的UI交互,许多用户和开发人员都会理所当然地将它们丢失,直到它们丢失为止,例如大量令人难以置信的详细视图动画曲线和不存在的滚动弹跳在基于Web视图的UI中.你可以努力完美地再现它们,但在那个时候投资,为什么不去土生土长?

需要注意的第二点是,Phonegap构建的iOS应用程序的支持社区比本机开发的应用程序要小得多.如果你是一个在项目期间依赖社区的人,这也应该让你停下来.

最后,它归结为您想要提供的体验质量.Phonegap的上限较低.如果您准备好接受不太优秀的用户体验以换取更少的开发时间和更高的可移植性,那么它就是一个非常可行的框架.

作为任何感兴趣的人的潜台词,Marco Arment和Dan Benjamin最近讨论了这个话题.你可以在这里听.

  • +1关于社区规模的重点. (5认同)
  • +1用户体验的重点.这在iOS中真的很重要. (5认同)