Gone Mobile

101: Slim Bindings

April 4th, 2024

In this episode, Jon and Allan discuss the concept of slim bindings and their benefits. They explore the challenges of working with full bindings and the need for a more focused approach. The conversation centers around their experience with creating slim bindings for Firebase and other complex controls. They also touch on the difficulties of updating full bindings and the importance of understanding the API being consumed. The episode concludes with a discussion on the role of Sharpie in binding generation and the challenges of dependency management. In this episode, Jon and Allan discuss the challenges and possibilities of Swift interop with .NET and the ongoing work to make Swift interop possible with .NET. They also delve into the differences between Android and iOS bindings, including the ease of Android bindings and the challenges of Kotlin and generics. They explore the AndroidX library and the complexities of dependency management. The conversation concludes with a discussion on community efforts for bindings and the benefits of slim bindings.


  • Slim bindings offer a more focused and simplified approach to working with complex controls and APIs.
  • Creating slim bindings requires a deep understanding of the API being consumed and the ability to map it to the target language.
  • Full bindings can be challenging to update, especially when there are major changes between versions of the API.
  • Dependency management can be complex, and colliding dependencies can cause issues in the binding process.
  • The goal is to make binding generation repeatable and provide patterns and examples for popular libraries to simplify the process for developers. Swift interop with .NET is being actively worked on, making it easier to generate bindings and interop code.
  • Android bindings can be easier than iOS bindings, but Kotlin and generics present challenges.
  • AndroidX library and dependency management can be complex, but slim bindings can simplify the process.
  • Binding at the bytecode level in Kotlin can be tricky, but slim bindings provide a workaround.
  • Community efforts are underway to create and maintain bindings for various libraries and frameworks.
  • Slim bindings offer a focused and simplified approach to binding native libraries.


  • Hosts: Jon Dick, Allan Ritchie
  • Audio Engineer: Jim Heath


  • 00:00 Introduction and Setting the Stage
  • 02:25 Understanding Slim Bindings
  • 04:15 Working on Firebase Bindings
  • 06:16 Challenges with Package Managers
  • 09:12 Creating Slim Bindings for Complex Controls
  • 11:40 The Difficulty of Updating Full Bindings
  • 14:27 The Value of Slim Bindings
  • 19:06 The Role of Sharpie in Binding Generation
  • 21:14 Making Binding Generation Repeatable
  • 22:42 Avoiding Duplicated Dependencies
  • 24:21 Challenges with Dependency Management
  • 25:17 Dealing with Colliding Dependencies
  • 25:44 Swift Interop with .NET
  • 28:10 Android and Kotlin Bindings
  • 30:23 Challenges with Kotlin and Generics
  • 32:23 AndroidX and Dependency Management
  • 39:12 Binding at the Bytecode Level
  • 46:39 Community Efforts for Bindings
  • 47:26 Upcoming Bindings and Slim Bindings

Episode Comments