【问题标题】:How do cross-platform mobile app development frameworks work?跨平台移动应用程序开发框架如何工作?
【发布时间】:2010-12-27 05:10:02
【问题描述】:

Rhodes、Phonegap 和 Appcelerator 如何能够采用 Javascript 或 Ruby,并将它们编译为应用程序 SDK 的二进制文件,这些应用程序 SDK 通常需要使用 Obj-C、Java 和其他语言编写应用程序?

【问题讨论】:

  • Javascript 可能是许多移动平台的原生语言,而 Ruby 或 C 或 Python 必须在高级或二进制代码级别上转换为目标系统的主要语言(Obj-C ,Java,..)。它也可能以某种方式解释。例如,我不知道是否可以通过 Jython 在 Android 上运行 Python。 C 本身可能可以以本机方式编译到所使用的硬件平台,但我对与 Android/iOS 的通信了解不多。

标签: iphone android cordova appcelerator rhodes


【解决方案1】:

Appcelerator 联合创始人 Jeff Haynie 解释 Titanium Mobile 的工作原理here

【讨论】:

    【解决方案2】:

    Phonegap 使用默认的浏览器渲染引擎,并使用它来显示您的应用程序。 javascript 然后由框架的本机(编译)部分处理。

    Appcelerator 使用类似的东西,但如果我没记错的话,它会编译整个应用程序。

    MoSync 使用类似于 javaME 的设置。

    Rhodes 使用本地服务器。它使用它与设备进行通信。

    【讨论】:

    • Rhodes 使用本地服务器,即移动设备本地的小型 Rub​​y 服务器?
    • Appcelerator 不使用设备浏览器(除非您特别想要),它使用本机控件。
    【解决方案3】:

    Webkit 浏览器引擎中内置了一个 Javascript 解释器,iPhone/iOS SDK 提供了对该解释器的足够访问权限,可以运行几乎整个用 Javascript 编写的应用程序,只需一个很小的 ​​Objective C 包装器即可启动。

    Android 通过 NDK 支持本机 ARM 机器代码,因此几乎任何具有编译器的语言都可以创建独立的 ARM 二进制文件(但几乎不需要操作系统访问)都可以用作库并通过 NDK 接口进行访问来自 Java 应用程序存根。

    【讨论】:

    • 非常有趣。你知道 Rhodes 是如何从 HTML + ERB 到 webkit Javascript 到 Obj-C 二进制文件的吗?
    【解决方案4】:

    我创建了一个开源项目http://propertycross.com,它通过展示使用 Sencha、Titanium、Xamarin 等实现的相同应用程序来帮助选择跨平台移动框架。该项目还包括每个框架如何工作的详细信息。它应该可以帮助您比较最终用户体验、代码、开发人员体验以及各种选项之间共享的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-13
      • 2011-08-20
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多