首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Phonegap进行本机应用程序开发

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

Stack Overflow用户
提问于 2011-03-02 06:09:04
回答 7查看 34.9K关注 0票数 97

我最近遇到了Phonegap。你们有没有人试过。这是一个令人难以置信的工具,它声称开发人员可以使用基于HTML5的框架,如Sencha touch和Jquery,同时可以访问手机上的本地功能。此外,代码也可以通过一些努力从Android移植到Iphone。在我开始之前,我想知道论坛使用Phonegap的经验是什么。痛点是什么?对于企业级应用程序开发,它真的是可伸缩的吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-02 09:40:20

我已经使用PhoneGap构建了几个应用程序,就它所提供的功能而言,它非常棒。我想指出几个快速说明,它们可能会对您有所帮助。

Disable device-based features you're not using加速度计,默认情况下地理定位功能处于打开状态。如果你不使用它们,我会关闭它们,因为你的应用程序会加载得更快(初始化),运行更流畅。

onDeviceReady -这是一旦phonegap加载并准备就绪就会调用的方法。$(文档).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如果你想构建通过安卓市场和iPhone应用商店分发的应用程序,我会通读他们详尽的列表,了解如何开发你的应用程序。例如,在上面的工具链接中,有一个名为Easy APNS的“工具/插件”-虽然这对安卓很有用-在iPhone上技术上是可行的,但它违反了开发协议,因为它规定你必须使用苹果的通知网络,等等。这只是一个例子,但如果这是你的最终目标,那么阅读这些东西会让你省去很多麻烦。

总而言之,它对于轻量级应用程序来说是很棒的,特别是如果你有web开发背景的话。LocalStorage、GeoLocation等。效果非常好。我希望这能帮上点忙。并且愿意问问题。

附加编辑:

我真的认为这取决于你想做什么,以及你知道怎么做。Matt指出,为iOS开发原生应用程序更好,等等。是的,如果你有时间和知识去学习--当然原生的会更好。但PhoneGap是为web开发人员设计的,他们可以利用现有的技能来构建应用程序。此外,PhoneGap还允许你为iOS、安卓、塞班、掌上、黑莓快速构建应用程序。只需对每个代码库进行细微的调整。

票数 95
EN

Stack Overflow用户

发布于 2011-09-20 10:40:53

下面是我读过的所有关于PhoneGap的最佳性能指南。要确保您有可靠、稳定的性能,需要注意的事项有很多。但是你可以在一个晚上的阅读中学会所有的东西。

以下是最好的金块:

PhoneGap/Mobile Web性能提示

http://www.phonegap.com/2011/06/21/building-the-diary-com-ios-app-using-pg-sencha-touch/

  • http://floatlearning.com/2011/03/developing-better-phonegap-apps/

  • http://jslint.com/ -调试javascript

  • http://zeptojs.com/http://xuijs.com/ - jquery和jqtouch

  • Disable的最小替代框架PhoneGap.plist

  • set中的“”设置为false PhoneGap.plist

中的“EnableAcceleration”设置为false http://blogs.nitobi.com/jesse/2009/10/28/running-jqtouch-in-phonegap/

  • 中的“EnableAcceleration”为false

  • http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/
  • http://cubiq.org/remove-onclick-delay-on-webkit-for-iphone
  • Demo:http://cubiq.org/dropbox/clickdelay.html
  • FastClick v TouchStart:适用于http://groups.google.com/group/phonegap/browse_thread/thread/f5f5c78e26513821?pli=1
  • http://forum.jquery.com/topic/ontouch-instead-of-onclick-event
  • http://wiki.phonegap.com/w/page/16494809/Performance-tips-for-device/
  • http://www.developer.nokia.com/Community/Wiki/JavaScript_Performance_Best_Practices
  • http://evolvingwe.com/building-an-iphone-app-part-3-7-dev-tips/
  • http://evolvingwe.com/upgrading-to-phonegap1-0/
  • VIDEO Touch的http://vimeo.com/17882927

性能提示

代码语言:javascript
复制
- It covers performance features in Sencha, which are great principles we can reapply. We may even be able to cut code from certain pieces of Sencha to reapply for Skej. 
- It states that we MUST destroy anything that is not visible on the DOM. And that the DOM must be kept as small as possible at all times, with as few listeners as possible. (I.e attach one listener to the parent item of a list, rather than to each list item.)
- It also has practical CSS3 tips for me to apply... Basically, dont use many of the new transitions and shadows/round corners because the currently use CPU, and not yet GPU. 

Sencha Touch中的

  • 事件委派:如何设计具有单个侦听器的列表,而不是每行都有一个。Sencha Touch中的http://www.sencha.com/blog/event-delegation-in-sencha-touch/
  • Optimizing DOM内存使用率:从列表滑动到详细信息面板并终止列表,然后从详细信息滑动到列表并终止详细信息面板。最小化屏幕上的元素,你的DOM。http://www.sencha.com/blog/sencha-touch-optimizing-memory-usage/
  • DESTROY任何在你的DOM上不可见的东西!
  • 使用CSS动画而不是jQuery
  • http://nyroo.com/l/B7UN5c
  • http://www.ferretarmy.com/css-animation-examples/
    • 要小心...当它们没有利用图形处理器时,这些都是棘手的,并且使CPU.

陷入泥潭

启用新功能

启用视网膜显示:http://evolvingwe.com/create-retina-display-images-in-mobile-web-themes-and-phonegap-apps/

  • Swipe删除:http://www.codesta.com/blog/2011/5/23/sencha-touchphonegap-tips-and-tricks.html

  • Disable加速度计和位置:http://iamcam.wordpress.com/2009/10/29/phonegap-up-to-speed/

  • Cut http://cubiq.org/do-you-really-need-jquery-for-mobile-dev

  • Display和手写代码:http://cubiq.org/do-you-really-need-jquery-for-mobile-dev

  • Display联系人列表在Mobile Safari:http://cubiq.org/contact-list-on-webkit-for-iphone

  • iScroll4:创建标题,滚动到固定大小的,收缩和缩放,上拉/下拉刷新。http://cubiq.org/iscroll-4 (包括有关橡皮筋effect.)
  • PhoneGap's GitHub存储库的提示:包括有趣的示例,如DatePicker、SMSComposer、ApplicationPreferences、Splashscreen、NetworkActivityIndicator……https://github.com/phonegap/phonegap-plugins

架构

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

票数 52
EN

Stack Overflow用户

发布于 2011-03-02 09:46:01

在表达我对Phonegap的看法之前,我需要发布一点免责声明,声明我绝不是web开发人员。对我来说,编写JavaScript和CSS就像拔牙一样。也就是说,我不喜欢Phonegap。

这个框架有几个非常吸引人的方面,主要是“一次编写任何一次”的吸引力和“我不需要学习Objective-C?”上诉。该框架甚至可以让您访问一些硬件功能,如加速度计。所有这些在一定程度上都是有效的。

也就是说,没有一个伟大的iOS应用程序是使用任何类型的跨平台框架构建的。原生UIKit控件为你处理了如此多微妙而优雅的UI交互,许多用户和开发人员一直认为它们是理所当然的,直到他们消失,比如大量令人难以置信的详细视图动画曲线和滚动反弹,这些都是基于web视图的UI中所没有的。你可以努力完美地复制它们,但对于这段时间的投资,为什么不直接本地化呢?

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

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

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

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5161004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档