【问题标题】:Which native APIs from Apple and Android devices can Appcelerator access which Phonegap cannot?Appcelerator 可以访问哪些 Apple 和 Android 设备的原生 API,哪些 Phonegap 不能?
【发布时间】:2012-01-16 12:18:28
【问题描述】:

我知道 Appcelerator 和 Phonegap 在为 Android 和 iOS 创建跨设备/平台应用程序的方法方面存在差异。我相信 Appcelerators 的优势之一是它可以访问设备的 API,如果我错了,请纠正我,但 Phonegap 是否也能够访问设备的 API?我的问题是,如果他们都可以访问设备的 API,那么 Appcelerator 在 API 覆盖率方面比 Phonegap 有什么优势? Appcelerator 可以访问哪些 Apple 和 Android 设备的原生 API,哪些 Phonegap 不能?

【问题讨论】:

  • 两个平台都在不断向其 API 添加新功能。所以对此没有明确的答案。他们俩都涵盖了很多
  • @topener 在他们的最新版本中,两者中的哪一个在本机 api 访问方面比另一个具有优势。这两种技术都很棒,我只是好奇,因为我还没有对它们的原生 api 支持进行任何深入的比较。

标签: android ios cordova titanium appcelerator


【解决方案1】:

对于典型的PhoneGap 应用程序,您尝试在JavaScript 中模仿本机GUI 元素,最有可能使用Sencha Touch 框架之类的东西。但是,对于 Titanium(Appcelerator 是公司,Titanium 是产品),您使用的是原生 GUI 元素。

要回答您的问题,当您在 PhoneGap 中开发一个简单的应用程序时,您并没有使用本机的表格视图、选项卡视图、图像视图等。相反,您使用的是试图模仿这些控件的 JavaScript .因此,即使在最简单的情况下,您也不会在 PhoneGap 中使用原生 API。

【讨论】:

  • 我相信用户界面部分确实如此,但是相机控制、音量控制、地图、sqlite 集成等怎么样。这些功能是否需要 phonegap 才能访问设备的原生 API?跨度>
  • @royjavelosa 这些 API 也可以在 Titanium 上使用。不确定,但它甚至可以在 Titanium 上更快,因为它是原生的,而不是模仿。
【解决方案2】:

考虑到您可以使用 PhoneGap 为 Android 或 iOS 编写自己的本机代码,我认为 API 覆盖范围方面没有实际限制,超出了开箱即用的范围。我刚刚为PhoneGap 编写了一个插件,它允许我访问Android 上的方向陀螺仪(即偏航、俯仰、滚动),因为它没有。由于 PhoneGap 会在初始化时启动您的类,因此您可以在执行 super.loadUri 语句之前/之后注入您需要的任何代码。

PhoneGap 只是一个包装器,它通过在无铬浏览器中自动加载 html 文件,然后侦听从浏览器返回到本机代码的特定请求(即,PhoneGap 附带的插件)。您可以随意在 PhoneGap 包装器周围添加其他本机代码。

【讨论】:

  • 这些是我们都知道 phonegap 和其他移动 Web 框架支持的基本原生 API,我感兴趣的是那些不在 Phonegap 和 Titanium 范围内开箱即用的 API。是否没有来自两者的不支持的原生 API 的记录列表或至少比较?
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2019-11-01
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 2021-09-22
  • 2011-10-20
相关资源
最近更新 更多