Skip to content
101: Slim Bindings episode artwork

EPISODE · Apr 4, 2024 · 52 MIN

101: Slim Bindings

from GoneDotNet · host Jonathan Dick, Allan Ritchie

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. Takeaways 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. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapters 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 metadata supplied by the publisher feed · Published Apr 4, 2024

Embed this episode

Ready to play

101: Slim Bindings

0:00 52:12

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of GoneDotNet?

This episode is 52 minutes long.

When was this GoneDotNet episode published?

This episode was published on April 4, 2024.

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this GoneDotNet episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!