Android 理解音差

Android 理解音差,android,cordova,windows-8,phonegap-plugins,Android,Cordova,Windows 8,Phonegap Plugins,我已经研究PhoneGap有一段时间了,我做了一些搜索,得到了以下结果 这是一个跨平台的工具 但是,如果我想拥有一个已经为Android(使用phonegap)编写的iOS或Windows8应用程序,我必须再次重写大量代码。(我知道,如果所有平台的UI都相同,那么编码就会大大减少。) 我有 根据我推断,它允许我创建需要硬件访问的应用程序 现在让我们假设我需要访问一些核心操作系统API,比如电话 或短信访问,我需要创建一些 我找到了一些,但这些插件是操作系统 具体的因此,我必须分别为每个平台编写插

我已经研究PhoneGap有一段时间了,我做了一些搜索,得到了以下结果

  • 这是一个跨平台的工具
  • 但是,如果我想拥有一个已经为Android(使用phonegap)编写的iOS或Windows8应用程序,我必须再次重写大量代码。(我知道,如果所有平台的UI都相同,那么编码就会大大减少。)
  • 我有
  • 根据我推断,它允许我创建需要硬件访问的应用程序
  • 现在让我们假设我需要访问一些核心操作系统API,比如电话 或短信访问,我需要创建一些
  • 我找到了一些,但这些插件是操作系统 具体的因此,我必须分别为每个平台编写插件
  • 经历
  • 几乎没有其他本地应用提供更好的性能和更好的用户体验。如果我的发现是正确的

    那我为什么要选择PhoneGap而不是native呢? 还是我遗漏了一些重要的东西

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

  • 您必须重写的唯一代码是用于访问当前不可用的某些硬件功能(也称为自定义插件)的特定于设备的代码。Cordova已经有很多插件了,比如SMS插件(不确定电话,但我希望它会存在。)您可以使用Dojo mobile或JQuery mobile等移动框架,自动调整和更改UI元素,以匹配本机设备UI元素。我认为使用其中一个框架基本上是制作混合应用程序的一个要求
  • 正确,但每个API在所有平台中的支持级别略有不同
  • 是的,Cordova的目的是让您通过JavaScript访问设备功能。否则,为了访问硬件功能,您需要编写本机应用程序
  • 是的,如果插件不存在或不支持您的平台,您必须创建或扩展插件
  • plugin repo是由平台分开的,有时人们编写涵盖多个平台的插件(如果他们总是这样做会很好,但通常人们只为他们需要的平台编写插件。)所以,是的,你可能需要编写插件
  • 我认为我们正处于网络技术发展的阶段,手机上的浏览器功能强大,本地性能实际上不会超过混合性能。当然可能有一些例外,但是

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