同时具有Objective-c和Swift的iOS应用程序 - 优点和缺点



我使用的是100% Objective-C的应用程序,我想开始过渡到包括Swift。由于代码库的大小,我很快就会有一个100%的Swift应用程序是不现实的。

一旦添加了swift文件,我注意到应用程序的大小增加了,因为现在,应用程序需要包含swift运行时。

事情还会发生什么变化?一旦你包含了一个Swift文件,编译器和链接器要经历怎样的过程来发布一个现在是多语言的二进制文件?相关的框架?

在一个较大的代码库中过渡到混合语言世界还有什么其他的注意事项吗?

根据我的经验,它的效果出奇地好。然而,明智的做法是,等到Xcode 7/Swift 2.0/Objective-C支持泛型,因为这将消除一轮更新,允许你从Objective-C与更优雅的Swift代码进行互操作,并消除Swift RT链接问题,现在他们已经稳定了运行时。

除此之外,两个编译器都需要运行,首先是Swift,其次是Objective-C, swiftc编译器可以非常快,也可以非常慢,这取决于你写的是无辜的还是合法的Swift代码(当然,这也适用于只使用Swift的应用程序)。

开始时,您需要阅读互操作指南,了解桥接头是如何工作的,然后大部分时间都在您的路上。我想说的是,拥有一款混合应用实际上是一件好事,因为你不必同时学习和完成所有事情。当然,意见各有不同,但这是我的看法。

相关内容

最新更新