[Oh look, another talk comparing modern mobile technologies! This time, the primary audience is iOS developers who are familiar with Swift and intrigued by Android. If you’re a Kotlin-curious Android or Java developer, you might get more out of my previous talk, Kotlin For Fun And Profit.]
Last week, I crashed my local CocoaHeads meetup and gave a talk about… Android!
Sort of 😉.
Several key aspects of the iOS and Android developer experiences have converged within the last year:
The languages with which we may now express our application logic (Swift and Kotlin) are syntactically and philosophically similar;
The layout tools with which we define our application UI provide options that prioritize performance and power (Auto Layout and
ConstraintLayout) as well as options that prioritize convenience and easier maintenance (
The IDEs that support our development efforts have continued to borrow the best features from one another: recent examples include Android Studio offering integrated run-time view debugging, and Xcode (re-)adding powerful refactoring capabilities.
This means there’s never been a better time for developers familiar with one ecosystem to learn the other. And you should: it’s a lot easier than learning your first native platform, and with a little effort you’ll quickly find yourself:
saving time by solving problems once, not twice,
more easily maintaining consistency when building dual-platform apps, and
becoming a more flexible (and therefore more valuable) employee 🤑,
all without sacrificing any of the benefits of native development.
Not convinced? Check out the video and slides from iOS & Android & Swift & Kotlin for concrete comparisons that demonstrate just how similar iOS and Android development look in 2017: