gpt4 book ai didi

javascript - 是否可以在 React Native 中使用我的 Swift 库?

转载 作者:行者123 更新时间:2023-11-28 06:21:16 25 4
gpt4 key购买 nike

我决定将我的移动应用程序端项目的开发从原生 swift 切换到跨平台 React 原生。当我尝试并开始这样做时,我遇到的直接障碍是想知道如何在 React Native 中通过 Cocoapods 访问我在 Swift 中使用的所有库。例如,我使用了大量的 Amazon Web Services Swift 库和 Chameleon Swift 颜色库。有没有一种方法可以转换所有这些 swift 库/使它们在 React Native 中可访问,或者我是否必须寻找所有这些库的 react native/javascript 版本?

最佳答案

有很多预构建的 React Native 组件都是由 Facebook 团队和 React Native 社区编写的。但是,从您的问题来看,您似乎有一些非常具体的 native 代码,您需要找到一种方法在您 future 的 React Native 应用程序中运行。对于您的问题“如果有的话,我应该使用哪些库”,我可以根据提供的信息给出的最佳答案是“视情况而定”。

我已经为 Android 和 iOS 构建了一些 React Native 移动应用程序,这些应用程序中存在于 Swift 中的功能有时可以用 JavaScript 编写 - 例如,使用 fetch 调用网络服务内置于 React Native 中的 api。如果您调用的 AWS 服务接受基本的 HTTP 请求,那么您可以自己用 JavaScript 编写它。

如果您正在做一些更复杂的事情,例如从 S3 下载文件,您可能需要使用类似社区构建的东西 react-native-fetch-blob ,在我需要下载文件时效果很好。您需要在请求 header 中提供所需的任何 SWS 身份验证 token 。

另一种选择是编写您自己的 Native Module .这些是您在 React Native 中从 JavaScript 调用的应用程序逻辑 block 。它们非常强大,因为它们基本上可以让您完成以前在原生应用程序中可以完成的任何事情。它们是用 native 平台语言编写的,因此 Obj-C 用于 iOS,Java 用于 Android,(但如果你有雄心壮志,你可能会用 Swift 编写它们——我还没有尝试过)。然后,这些 native 模块可以调出您已经存在的 AWS Swift 库。我的直觉告诉我这可能是最适合您需求的解决方案。 native 模块的明显缺点是它们是 native 的,因此您需要为您支持的每个平台(大概是 iOS 和 Android)编写一个。

还可以选择将 React Native 简单地合并到您的 existing application 中.这个想法是你可以慢慢地在 React Native 中构建你的应用程序的新组件,或者以零碎的方式将当前逻辑重写到 React Native 中,一次一小部分,这样整个任务看起来就不那么令人生畏了。

最后,Chameleon Swift似乎是一个 UI 库。如果你使用 React Native,你似乎不想继续使用这个库,因为 React Native 是移动应用程序的“前端”(除其他外)。然而,如果您非常渴望,您可以编写一个 native 模块,理论上,该模块可以调用变色龙库来为您提供诸如颜色的十六进制值之类的东西。我不知道这是否会很好地工作并且可能不会非常高效,所以我不建议您尝试在直接的 react-native 应用程序中继续使用这个库(但可以肯定的是,如果您使用混合应用程序,往上看!)。 React Native 有它自己的很酷的工具,但是,您可以使用它们让您的应用程序更棒( hereherehere )。

呸,我希望这是有用的。

关于javascript - 是否可以在 React Native 中使用我的 Swift 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43403490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com