[swift-users] Airbnb's Swift 3 Migration Blog

Michael Ilseman milseman at apple.com
Tue Feb 7 16:44:43 CST 2017


> Since the Swift ABI changed between versions 2 and 3, even correct Swift 3 code that imports Swift 2 libraries will not compile. This incompatibility made it difficult to parallelize code conversion.

This is probably source-compatibility that you want, not necessarily ABI compatibility. Even if the ABI was stable, you still want to use the decls from the other module, and thus you’d still be in a rough spot. But, with source compatibility in Swift 4, the other modules could remain written in an older syntax/semantics while being compiled with the new compiler (and thus the new ABI). This would mean a gentle module-by-module incremental conversion regardless of the ABI for a Swift 3 to Swift 4 conversion.

> Debug Build Time

BTW, are you mixed-source? If so, were you able to try out PCH for bridging headers as identified here: https://swift.org/blog/bridging-pch/?

> However, we did find a function...

If you can produce a test case that repros the blowup, can you put that in a JIRA?

> So, to complete the Swift 3 migration we strongly encouraged the entire team (minus the ones doing the migration) to really, truly take a Saturday off work 😄.

Sounds like some good came of it after all!

> “Near misses” on Optional Protocol Method Implementations

These are great JIRA fodder too!

> On Feb 7, 2017, at 1:35 PM, Chengyin Liu via swift-users <swift-users at swift.org> wrote:
> Hi all,
> At Airbnb we recently migrated to Swift 3, just in time for Xcode 8.3. We waited as long as possible because our codebase is massive. We have hundreds thousands lines of Swift.
> In the end we were able to migrate without a code freeze. 3 engineers worked on it for 3 weeks without disrupting the normal development.
> We shared our experience in this blog post: https://medium.com/airbnb-engineering/getting-to-swift-3-at-airbnb-79a257d2b656#.j800yp6l8 <https://medium.com/airbnb-engineering/getting-to-swift-3-at-airbnb-79a257d2b656>
> Feel free to reach out if you have any questions!
> -- 
> Chengyin
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170207/c65ce73f/attachment.html>

More information about the swift-users mailing list