【问题标题】:Is the Facebook app built using a mobile development framework like PhoneGap or Appcelerator?Facebook 应用程序是使用 PhoneGap 或 Appcelerator 等移动开发框架构建的吗?
【发布时间】:2012-04-04 10:19:43
【问题描述】:

我发现 numerous sources 引用 Facebook 应用作为混合应用的示例。

我理解术语混合应用程序被广泛定义为任何将 WebView 包装在本机应用程序中的智能手机应用程序。

有手机development frameworks(PhoneGap、Appcelerator 等)使开发人员能够使用他们现有的 Web 开发技能(HTML5、Javascript、CSS)构建应用程序,同时提供对核心手机功能(相机、地址簿等)的访问)。

因此,由于 Facebook 是一款混合应用,可以访问手机的核心功能,例如推送通知和摄像头,我很好奇:

Facebook 应用程序是使用移动开发框架构建的吗?

【问题讨论】:

    标签: facebook cordova push-notification appcelerator hybrid


    【解决方案1】:

    您可能不会直接从 Facebook 获得此信息,因为这很可能是他们的商业秘密,确切地说是他们如何实施。但从我的“理解”来看,大多数 facebook 技术都是本土的,所以我怀疑他们是否使用了像 Phonegap 这样的框架。它很可能只是嵌入到本机应用程序中的 html5 webview。

    【讨论】:

    • 同意 - Facebook 的 iPhone 应用程序只是一个原生 iOS 应用程序,使用浏览器视图访问 Web 服务和/或在应用程序的嵌入式浏览器中显示 HTML5 页面的“一些”视图。
    【解决方案2】:

    您对混合应用的广泛定义可能有点过于宽泛。在 webview 中运行的整个应用程序是混合应用程序的充分但非必要条件。

    你可以把它想象成一个频谱:

    纯原生 Facebook Appcelerator PhoneGap HTML5 |---------------|--------------|-------------|---- --------|

    例如,PhoneGap 应用就像您提到的那样:“将 WebView 包装在本机应用程序中的应用程序”。但是,Appcelerator 应用程序也是混合应用程序,但它们不一定需要包含 webview 组件。它们是混合的,因为它们的 UI 是原生的,但它们的部分逻辑运行在 Javascript 上。

    Facebook 绝对不是在 PhoneGap 中构建的。使用当前的 webview 几乎不可能在 HTML5 中创建没有任何性能障碍的滑动菜单。有迹象表明 Facebook 也没有内置在 Appcelerator 中。根据我的经验,由于包含了 Titanium 库,Appcelerator 应用程序往往具有巨大的文件大小。如果 Facebook 是在 Appcelerator 中构建的,它应该比现在的规模大很多。

    Facebook 拥有构建自己的原生应用的资源,因此出于通常的原因(开发速度、易于编码),它不需要框架。

    最后,也许我会说 Facebook 不是使用(公开可用的)框架构建的最好理由是,如果是,那么该框架将是 1)向世界高兴地宣布它,或者 2)被收购由 Facebook 提供。

    【讨论】:

    • 如果像 Facebook 这样的公司在该领域发布一个接近纯原生但仍然基于某些页面设置的 html 的解决方案,那就太棒了。
    • 来自 Titanium 网站:“Titanium 应用程序可以而且经常使用“混合”(本机和 Web)UI,例如 Facebook 的本机应用程序。 developer.appcelerator.com/blog/2012/05/…
    • 此人询问是否可以使用PhoneGap 开发facebook 应用程序(facebook 上的应用程序、页面标签等)。他没有问 Facebook 是如何建立的。
    • Facebook 是使用 Sencha 框架构建的(我只有 60% 的证明)
    【解决方案3】:

    Facebook 使用 Apahce Cordova 的分叉版本,它是 PhoneGap 背后的引擎。你不会找到太多关于它的信息,但这里引用它:http://phonegap.com/2012/03/19/phonegap-cordova-and-what%E2%80%99s-in-a-name/

    “当今存在许多 Apache Cordova 发行版,这是我们全心全意鼓励的事情。例如,Salesforce 和 Facebook 目前为其 SDK 定制了版本,我们在 Apache 的工作重点是启用这个用例(及其他)。”

    【讨论】:

    • 我的理解是,文字并不意味着 Facebook 或 Salesforce 的应用程序中使用了类似 PhoneGap 的技术。只是他们面向开发人员的 SDK 可以使用它。
    【解决方案4】:

    根据ForbesMashable 最近发表的这些文章(2012 年 9 月),Facebook 最近已将其移动 HTML5 混合应用替换为原生版本。

    引用扎克伯格的话说:“作为一家公司,我们犯下的最大错误是在 HTML5 上投入过多,而不是在原生上。”

    我认为对于 FB 来说,为 iOS、Android 等构建和维护代码库以提供更接近原生应用所提供的金属性能的资源投资是值得的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多