了解Phonegap

时间:2013-04-28 08:07:45

标签: android cordova windows-8 phonegap-plugins

我一直在调查PhoneGap一段时间,我做了一些搜索并获得了以下结果。

  1. 这是一个跨平台的工具。
  2. 但是如果我想要一个已经为Android编写的iOS或Windows 8应用程序(使用phonegap),我必须重新编写很多代码。 (我知道如果所有平台的UI都相同,那么编码会减少很多。)
  3. 我有access to these API's
  4. PhoneGap Docs我推断,它允许我创建需要硬件访问的应用程序。
  5. 现在假设我需要访问一些核心OS API,比如电话     或短信访问,我需要创建一些plugins
  6. 我发现了一些PhoneGape-Plugins,但这些插件是操作系统 具体。所以,我必须分别为每个平台编写插件。
  7. 通过the Comparison
  8. 来自this comparison和其他一些原生应用程序可提供更好的性能和更好的用户体验。如果我的发现是正确的,

    那么我为什么要选择PhoneGap而不是原生? 或者我错过了一些关键的东西?

    我想开始开发Windows 8开发,我必须学习C#/ XAML,如果选择PhoneGap,我还需要学习JS / HTML / CSS。 (已在Android上工作)。

2 个答案:

答案 0 :(得分:0)

  1. Phonegap是您的网络应用程序的桥梁,其中包含硬件的某些部分(apg已经由phonegap团队实施)。
  2. 它是您的网络应用的容器,因此可以放置在应用商店中 所以可以下载。
  3. 许多应用程序都可以实现api。甚至不需要那么多。一些应用程序虽然需要更多(像你的)。在这种情况下,是的,你必须自己实现这些桥梁。这会降低phonegap的价值吗?绝对不。您只需实现所需的桥梁,而不是从头开始实现所有桥梁。如果您想为特定平台创建应用,那么您就没有理由对手机屏障感到困扰。

    时,您应该选择超过原生的手机屏幕
    1. 您定位多个平台并希望对应用程序的所有逻辑进行一次编码,并且(如果尚未提供)实现平台之间不同的部分。
    2. 您已熟悉Web开发技术(html,css,js)。

答案 1 :(得分:0)

  1. 您必须重写的唯一代码是特定于设备的代码,用于访问当前不可用的某些硬件功能,即自定义插件。 Cordova已经有很多插件,比如一个短信插件(不确定电话,但我希望它存在。)你可以使用像Dojo Mobile或JQuery Mobile这样的移动框架,它会自动调整和更改UI元素以匹配本机设备UI元素。我认为使用其中一个框架基本上是制作混合应用程序的要求。
  2. 正确,但每个API在所有平台之间的支持程度略有不同。
  3. 是的,Cordova的观点是让您通过JavaScript访问设备功能。否则,为了访问硬件功能,您需要编写本机应用程序。
  4. 是的,如果插件不存在或不支持您的平台,则必须创建或扩展插件。
  5. 插件仓库由平台分隔,有时人们编写覆盖多个平台的插件(如果他们总是这样做会很好但通常人们只为他们需要的平台编写插件。)所以是的,你可能需要写下来。
  6. 我认为我们正处于Web技术发展的阶段,手机上的浏览器功能强大,本机性能并不比混合性能更高。当然可能有一些例外,但I think Fastbook proved HTML5 apps can perform equally well as native.

    如果您想要在不学习Java,C#和其他本机技术的情况下定位多个移动操作系统,则应选择Phonegap / Cordova over native。它提供的一些其他好处是单个HTML代码库(易于维护)并将您的webapp打包为本机(在应用程序商店中轻松分发。)但是,如果您有非常特定的硬件功能需求,Cordova或插件,然后你最终还是要学习那些本地语言。此时,如果您只针对单个操作系统(如Windows Mobile),那么用原生语言完成整个应用程序可能/可能是有意义的。但是,我并不认为任何人都应该针对单个操作系统;通过在HTML5 / JavaScript中编写应用程序,然后使用Cordova将其发布到每个操作系统,来证明您的应用程序。