What started as a guide for iOS developers curious about Android in objc.io spawned a host of code, talks, and articles based around increasing cross platform knowledge between these two worlds. Both iOS and Android developers are solving similar problems, but in slightly different ways on their respective platforms. I would like to encourage developers (and designers!) to step out of their comfort zone and take those problem solving skills with them. Increase your communication between teams by understanding some of the core components and techniques used on their competing platform. Design better APIs and approach app structure from a much more informed decision.

Who knows, maybe you'll find out that you like the other side more than you thought.

Code and slides available via Github: https://github.com/smbarne/AndroidForiOS



Given at AnDevCon Boston in 2014 and then updated for Android 5.0 for AnDevCon San Franscisco 2014, this talk covers the art of building a reusable UI component for Android. The need or desire to build a great user interface doesn’t happen once, it happens over and over again. Finding a way to build great reusable UI components and consistently deliver awesome user experiences is an art form.

Code and slides available via Github: https://github.com/smbarne/AndroidReusableUI

Rules for UI Design

  • Consistency and platform rules
  • Building a reusable UI component: when and why

Creating a clear, friendly API

  • Exposing elements: what is important and what isn't
  • Creating interfaces that encapsulate logic
  • Default styles and allowing easy style changes

Tips for Android: structuring your API and utilizing XML

  • Building reusable, extensible layouts
  • What to use as a parent view type
  • Design patterns for reusable UI components
  • Observable data structures to make your life easier

Let's get inspired to create something worth using everywhere!