Close The Platform Gap With The “Bad Swift Simulation”

Опубликовано: 22 Декабрь 2024
на канале: Touchlab
478
28

Dive into the complexities of Kotlin Multiplatform (KMP) and discover how to bridge the gap between Kotlin and Swift development. Touchlab’s “Bad Swift Simulation” is designed to highlight the real issues faced by Kotlin developers when interacting with Swift, and provide practical solutions to enhance your development workflow.

Most Kotlin developers have some familiarity with Swift but lack deep understanding. This lab experience will immerse you in the challenges of calling Kotlin through a Swift-like lens, where you'll gain invaluable insights and learn how to address these issues using SKIE and other tools.

What You Will Learn:
Feel Their Pain: Understand the critical issues when Kotlin APIs are used in Swift environments by experiencing them firsthand.

Address the Issues: Use SKIE and other tools to reintroduce modern features, restoring productivity and type safety.

Apply it Intelligently: Learn techniques to incrementally apply SKIE, ensuring minimal disruption to existing codebases.

Join us for an in-depth exploration of Kotlin and Swift integration challenges and solutions. Ideal for Kotlin developers, iOS developers, software architects, and technical leads, this event will enhance your understanding and improve your mobile app development workflow with KMP.

✨ Resources:
https://skie.touchlab.co
https://github.com/touchlab/BadSwiftS...
https://github.com/touchlab/SKIE
https://github.com/touchlab/xcode-kotlin
https://touchlab.co/close-the-platfor...
https://touchlab.co/kc-team-codelab
https://touchlab.co/codelabs

📖 Chapters:
Introduction to Touchlab Summer Streaming Series
0:00 - Welcome and Introduction by Kevin Galligan

Talk by Tadeas and Phillip
1:12 - Introducing Speakers and Topic
2:04 - Kotlin to Swift Interop: Limitations and Solutions

Primary Reason for KMP Adoption Issues
2:10 - Technical vs People Problems
2:22 - Hypothetical Scenario Illustrating People Problems

Importance of iOS Developer Experience
6:04 - Ensuring iOS Developers Want to Use KMP
6:46 - Improving iOS Developer Experience

Debugging and Compilation Challenges
7:03 - Making Kotlin API Friendly to Swift
7:26 - Allowing iOS Developers to Modify Shared Code
9:10 - Issues with Debugging Kotlin Code
9:58 - Compilation Time Optimization

Problem with Kotlin API in Swift
11:54 - Explanation of Kotlin and Swift Interop
12:05 - Current State of Kotlin and Swift Interop

Simulation and Examples
15:01 - Bat Swift Simulator
15:49 - Enums in Kotlin
16:20 - Sealed Classes and Interfaces
18:01 - Reactor Class Example
20:16 - Coroutines and Suspend Functions
22:03 - Flows
24:45 - Default Arguments
25:56 - Generics Example

SKIE: A Tool to Improve Kotlin to Swift Interop
30:04 - Introduction to SKIE
30:40 - SKIE in Action: Enum and Sealed Class Handling
32:08 - Human Readable Descriptions
32:58 - Improved Suspend Functions and Flows
34:06 - Default Arguments with SKIE
35:56 - Handling Generics with SKIE
37:04 - Swift Code Bundling

Summary and Closing Remarks
38:26 - Summary of Issues and Solutions
40:03 - Introduction to Swift Export by JetBrains
45:00 - SKIE's Flexible Configuration
47:15 - Conclusion and Final Tips

Live Q&A Session (Tadeas, Filip & Kevin)
48:33 - Live Q&A Introduction
49:54 - Handling Questions about SKIE and Swift Export
54:06 - Communicating with Apple and JetBrains
58:14 - Recommendations for Common Module in Separate Repo
1:00:43 - Replacing CocoaPods with KMP Binding
1:05:32 - SKIE's Future with JetBrains Swift Export
1:13:00 - Contact Information and Closing

_______________________
🚀 Support:
Looking for more in-depth information on how to get the most out of Touchlab’s open source libraries? Touchlab Pro offers self-guided courses, curated best practices, and access to your private support portal. https://touchlab.co/tlpro
_______________________
📬 Keep in touch:
  / touchlabhq  
  / touch-lab  
https://touchlab.co/keepintouch
https://mastodon.social/@touchlab