An Ergonomics Review of Using Kotlin from Swift

16 Aug 2020 - 13 minute read

At Autodesk, my colleagues and I are more than a year and a half into our Kotlin multiplatform (KMP) shared library journey. That’s one Kotlin shared library, shared among our three mobile platforms that we support for the PlanGrid app (iOS, Android, and Windows).

Read more…

Getting Started with Kotlin on iOS, Part 3: The Build

05 Jul 2020 - 10 minute read

Once you get your Kotlin multiplatform proof-of-concept in a working state, you’ll want to get your build ready for integration into your team’s workflow. This means CI that builds your library and runs the tests on every platform you support. This also means a build setup that allows playing with changes to your multiplatform library in a local debug build of your app. And finally, you’ll want to distribute the library for consumption in your application. Now, each of those pieces could be its own article. My goal here is to help you understand the basics that, when put together, can be used to accomplish each of those goals.

Read more…

Getting Started with Kotlin on iOS, Part 2: Interop

22 Mar 2020 - 17 minute read
Co-authored by Phill Farrugia

After you get a feel for the language and do some Koans, the next step in your journey to writing Kotlin for iOS is understanding what that Kotlin is going to look like from the Swift in your iOS app. The way Kotlin reverse interop (Swift talking to Kotlin) works is via Objective-C. For some, discovering that they get an Obj-C header from their Kotlin library, instead of a Swift one, is disappointing. That’s an understandable reaction. In a all (or majority) Swift code base, you and your team may have spent a lot of time building out your project using all that Swift has to offer — even the stuff that’s not compatible with Obj-C.

Read more…

Getting Started with Kotlin on iOS, Part 1

09 Feb 2020 - 6 minute read Updated: 11 Feb 2020

Hello! I’m Ben. I’m an iOS engineer at Autodesk where I work on the PlanGrid app. PlanGrid is a construction productivity tool that works on iOS, Android, and even Windows 😱. The iOS version is written in Swift (some Obj-C too because it’s older), but now most of the code I write day-to-day for the iOS app is in Kotlin.

Read more…