我们应该使用 Swift 还是 Objective-C 构建原生 SDK,是否有任何 SDK 完全基于 Swift 构建?



我的公司目前计划以原生SDK的形式提供我们的服务和UI组件。在 Swift 和 Objective-C 中构建 SDK 的优缺点是什么?

注意:我们将集成我们SDK的客户将使用Swift或Objective-C。

我强烈建议观看Jonathan Blocksom的演讲:http://realm.io/news/swift-objc-best-friends-forever/

它说:

"Swift 和 Objective-C 协同工作得相当好,所以有很多原因需要将两者包含在一个项目中。你可能想在 Objective-C 中使用一个方便的 Swift 库,反之亦然。如果你有一个很大的 Obj-C 代码库,并且你想学习 Swift,那么现在也是学习它的好时机。Swift 是为 Objective-C 兼容性而构建的,也适用于 C,但不适用于 C++。Objective-C 中的许多类型都可以很好地转换为 Swift:BOOL 转换为 Bool,NSInteger 转换为 Int,SEL 转换为 Selector,等等。

根据我有限的经验,使用 Swift 的 Objective-C 代码是一个更常见的用例,而且相当微不足道。使用 Objective-C 的 Swift 代码当然是可能的,但它有一些陷阱:具体来说,请查看视频中的"Obj-C 案例研究中的 Alamofire "。

Alamofire是一个用Swift编写的HTTP网络库,来自AFNetworking的创建者:https://github.com/Alamofire/Alamofire

另外,我鼓励您阅读官方文件:https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11

我希望这有所帮助。

最新更新