为什么 react-native 包使用原生 SDK 而不是 JS/web 版本?

Why do react-native packages use native SDKs and not JS/web versions?

纯粹的信息性问题,不是真正的问题,但是: 我记得按照说明进行操作并看到有一些步骤可以使 react-native-fbsdk 正常工作。这些步骤涉及弄乱我的 android build.gradle 并添加 iOS SDK 和 info.plist 等等。除此之外,为什么 Facebook 不使用 javascript SDK?不可能吗?如果是这样,为什么 Facebook 不可能这样做?如果可能的话,他们为什么选择同时使用 android 和 iOS SDK?

React Native 的一个价值支柱是它不仅仅是一个嵌入原生包装器的 HTML 5 网站。它字面上使用原生 APIs/components,SDK 也是如此。从技术上讲,纯 JS SDK 可以针对浏览器体验进行优化,依赖于 windowdocument,虽然功能可能能够在本机执行,但 RN 中提供的 polyfills 可能不足以覆盖实施。它进行 API 调用的方式可能也不同。视图也不同(RN 中没有 DOM),因此这适用于任何 SDK 视图(按钮?)。

我刚刚将 iOS SDK 转换为 React Native 包,我觉得实现将更符合原始 iOS SDK 的设计方式,因为它使用了这些方法封面而不是纯JS。 JS只是调用原生方法,并没有接管方法。

只要我的 0.02 美元...