Integrating Zig and SwiftUI
2 days ago
- 作者主张使用像Zig这样的跨平台语言编写业务逻辑,并使用平台特定的GUI代码(例如SwiftUI)以获得原生体验,避免使用像Electron这样的非原生解决方案。
- 关键步骤:从Zig导出C API,编译为静态库,使用libtool合并依赖项,使用lipo创建通用二进制文件,并打包为Xcode的XCFramework。
- 生成的XCFramework通过拖入Xcode项目的Frameworks部分进行集成,从而使SwiftUI代码能够导入并使用C函数。
- 这种方法标准且稳定,作者的终端应用中有94%的跨平台代码使用Zig/C编写,仅有4%是macOS特有的SwiftUI代码。
- 作者推荐在macOS GUI开发中使用Swift而不是Objective-C,因为现代的Apple集成依赖于Swift。