swift - swift 混编C++

Swift 与 C++混合编程的最佳实践
大型 App 由于跨平台的需要,底层一般会采用 C++来实现,当时再往上到应用层的话基本都会用对应平台的语言,比如 Windows 可能会用 C#,Android 用 Kotlin,iOS 用 Swift。

我这里主要想探讨一下 Swift 与 C++ 混合编程最佳实践。

由于 Swift 无法直接调用 C++,所以不得已需要引入一个中间层包装 C++代码。

目前实践过两种方法

C++ ==> Objective-C++ / Objective-C ==> Swift
C++ ==> C ==> Swift
第一种做法比较自然,也是苹果教的方法。

但是存在一个问题,因为 Objective-C 都是以面向对象为导向的,所以封装 C++代码时 就需要用对象方式 在 Objective-C 中 建立模型。但是我其实希望 Objective-C 这一层尽量的薄,我们应该把所有的模型建立在 Swift 这一层,这样才能让代码的可维护性更好。

这样 就引出 第二种方式,直接用 C 封装 C++,仅仅是最简单的封装导出,而所有的对象模型建立在 Swift 这一层。目前感觉这种方式是优于第一种方式的。

不知道各位还有其他更好的方法不?

摘自:https://www.v2ex.com/t/429752

你可能感兴趣的:(swift - swift 混编C++)