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

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

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

因此,由于 Facebook 是一个混合应用程序,可以访问手机的核心功能,如推送通知和相机,我很好奇:

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

最佳答案

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

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

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

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

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

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

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

关于facebook - Facebook 应用程序是使用 PhoneGap 或 Appcelerator 等移动开发框架构建的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9778505/

10-12 01:46