
Talking Kotlin
Podkast av Talking Kotlin
Prøv gratis i 7 dager
99,00 kr / Måned etter prøveperioden.Avslutt når som helst.

Mer enn 1 million lyttere
Du vil elske Podimo, og du er ikke alene
Rated 4.7 in the App Store
Les mer Talking Kotlin
A bimonthly podcast that covers the Kotlin programming language by JetBrains, as well as related technologies.
Alle episoder
139 Episoder
Sebastian and Márton are joined by Denis Borisevich from RIEDEL Communications, and learn about how Kotlin is used behind-the-scenes to power media, sports, and entertainment broadcasts watched by millions around the globe. Tune in for an exciting story about how Kotlin, Ktor, and Arrow are being used in production for a use case where robust software is mission-critical. Resources: * Riedel Communications [https://www.riedel.net/en/] * TornadoFX [https://github.com/edvin/tornadofx] * Unsigned integer types [https://kotlinlang.org/docs/unsigned-integer-types.html] * Arrow [https://arrow-kt.io/] * Ktor [https://ktor.io/] * Eurovision [https://eurovision.tv/] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Denis Borisevich – LinkedIn [https://www.linkedin.com/in/dborisevich/] Timeline: (0:00) Introductions (2:42) Events powered by Riedel (3:50) The Kotlin part (6:44) Routing video signals (9:12) Error handling in milliseconds (10:31) The Kotlin part, continued (13:29) TornadoFX! (19:19) On introducing Compose (23:30) Java to Kotlin migration (26:30) Learning Kotlin after C++ (28:44) Unsigned ints in Kotlin (32:09) Arrow! (33:00) Server-side Kotlin (36:25) Functional programming (42:10) Why Kotlin over others? (45:55) Kotlin/Java interop (47:12) A 2-week long test suite (51:35) Confidence in Kotlin (53:05) Future plans (56:00) Wrap-up

Sebastian and Márton chat with Rod Johnson, the creator of the Spring Framework. Rod tells the story of how Spring was born more than two decades ago, and shares his recent journey of coming back to the JVM and discovering all the fun of being a newcomer to Kotlin. Resources: * Expert One-on-One J2EE Design and Development: Rod Johnson [http://www.amazon.com/Expert-One-One-Design-Development/dp/1861007841] * Oh the Places You'll Go! [https://spring.io/blog/2012/07/03/oh-the-places-you-ll-go] * Shoulders of Giants: Languages Kotlin Learned From | Andrey Breslav [https://www.youtube.com/watch?v=7z_K-hTTeqI] * Revamping and Extending Kotlin's Type System | Ross Tate [https://www.youtube.com/watch?v=3uNpmhHwkuQ] * Scala in 2018 Keynote | Rod Johnson [https://www.youtube.com/watch?v=DBu6zmrZ_50] * But Java has pattern matching! | Alejandro Serrano Mena [https://www.youtube.com/watch?v=yJDoa42X-wQ] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Rod Johnson – Twitter [https://x.com/springrod] | LinkedIn [https://www.linkedin.com/in/johnsonroda/] Timeline: (0:00) Intro (0:52) The origins of Spring [https://spring.io/blog/2012/07/03/oh-the-places-you-ll-go] (6:40) You need a business model (8:21) Consistency is key (9:39) Sustainable open source (14:22) Parallels with JetBrains and Kotlin (15:29) Rod’s journey around the JVM (20:48) Shoulders of giants [https://www.youtube.com/watch?v=7z_K-hTTeqI] (22:34) The newcomer experience (24:40) LLMs write great Kotlin (30:34) “You can start without great pain” (33:32) Extension functions (36:15) Too much magic? (37:56) Rod’s feature wishlist (39:37) Versioning and compatibility (41:19) Ecosystems and interop (43:34) Kotlin type system evolution [https://www.youtube.com/watch?v=3uNpmhHwkuQ] (46:27) Kotlin with Spring (52:24) Learning Spring with Kotlin (54:46) Kotlin in 5 years? [https://www.youtube.com/watch?v=DBu6zmrZ_50] (1:00:39) Rod’s current work (1:03:58) Wrap-up

Sebastian and Márton discuss building KMP libraries with Jay Shortway, the author of RevenueCat’s Kotlin Multiplatform SDK for in-app purchases. Resources: * RevenueCat KMP SDK [https://www.revenuecat.com/docs/getting-started/installation/kotlin-multiplatform] * How we built the RevenueCat SDK for Kotlin Multiplatform [https://www.revenuecat.com/blog/engineering/how-we-built-the-revenuecat-sdk-for-kotlin-multiplatform/] * Hybrid SDK Architecture at RevenueCat [https://www.revenuecat.com/blog/engineering/how-our-hybrids-work/] * ttypic/swift-klib-plugin on GitHub [https://github.com/ttypic/swift-klib-plugin] * RevenueCat/purchases-kmp on GitHub [https://github.com/RevenueCat/purchases-kmp] * Consider moving `Instant` and `Clock` to the standard library · Kotlin/kotlinx-datetime [https://github.com/Kotlin/kotlinx-datetime/issues/382] * RevenueCat openings [https://job-boards.greenhouse.io/revenuecat] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Joop Korteweg – Twitter [https://x.com/JayShortway] Timeline: (0:00) Intro (0:44) What’s RevenueCat (4:00) In-app purchases are hard (7:22) The multiplatform SDK [https://www.revenuecat.com/docs/getting-started/installation/kotlin-multiplatform] (12:44) The demand for KMP (16:30) Hiring and team structure (18:42) SDKs for any framework [https://www.revenuecat.com/blog/engineering/how-our-hybrids-work/] (21:27) Building on native SDKs (23:45) Improving iOS linking [https://github.com/ttypic/swift-klib-plugin] (24:54) The SDK is on GitHub (26:05) Benefits of building on native (28:18) Designing a common API (33:21) Add-on modules for SDKs (37:30) Instant in the standard library [https://github.com/Kotlin/kotlinx-datetime/issues/382] (38:04) Returning results from the API (39:53) API design decisions (44:57) Codegen opportunities (45:48) The best things about KMP (47:07) KMP improvements wishlist (48:28) The KMP journey (49:45) Wrap-up

Sebastian and Pamela discuss what it means to be an expert in Kotlin Multiplatform, with the help of a panel of experts! Learn about why it's interesting to dive deep into a certain technology, recommendations on how to learn advanced topics, and general advice on how to get the most out of using KMP. SKIE [https://skie.touchlab.co/] KMP libraries: * whyoleg/cryptography-kotlin [https://github.com/whyoleg/cryptography-kotlin] Interesting code to explore: * JetBrains/kotlin [https://github.com/JetBrains/kotlin] * Kotlin/kotlinx-datetime [https://github.com/Kotlin/kotlinx-datetime] * Kotlin/kotlinx-io [https://github.com/Kotlin/kotlinx-io/] * Kotlin/kotlinx.coroutines [https://github.com/Kotlin/kotlinx.coroutines] * Cartesian product [https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:collection/collection-benchmark/src/androidInstrumentedTest/kotlin/androidx/collection/junit.kt;drc=eeb276b1e6ff6521eb93da6e98ecda8bb5b3e701] by Jake * Get an invite! [https://surveys.jetbrains.com/s3/kotlin-slack-sign-up] Ecosystem wishlist: * wasmJs support in SQLDelight [https://github.com/sqldelight/sqldelight/pull/4965] * Compose Multiplatform support in MapLibre [https://github.com/maplibre/maplibre-native/issues/2638] Learning resources: * Kotlin Multiplatform build setup from scratch with Sebastian Sellmair [https://youtu.be/fmFezt-2IBo] * KEEP - Kotlin Evolution and Enhancement Process [https://github.com/Kotlin/KEEP] * HexFormat proposal [https://github.com/Kotlin/KEEP/blob/hex-format/proposals/stdlib/hex-format.md] and discussion [https://github.com/Kotlin/KEEP/issues/362] * Uuid proposal [https://github.com/Kotlin/KEEP/blob/uuid/proposals/stdlib/uuid.md] and discussion [https://github.com/Kotlin/KEEP/issues/382] More KMP experts: * Kevin Galligan * Bluesky [https://bsky.app/profile/kpgalligan.bsky.social] * Twitter [https://x.com/kpgalligan] * Russell Wolf * GitHub [https://github.com/russhwolf] * Twitter [https://twitter.com/RussHWolf] * multiplatform-settings [https://github.com/russhwolf/multiplatform-settings] * Jesse Wilson * GitHub [https://github.com/swankjesse/] * Sebastian Sellmair * Twitter [https://x.com/Sellmair] * Salomon Brys * Twitter [https://x.com/salomonbrys] Hosts: * Sebastian Aigner * Website [https://sebi.io/] * Pamela Hill * Blog [http://pamelaahill.com/] * Bluesky [https://bsky.app/profile/pamelaahill.bsky.social] Guests: * Jake Wharton * Website [https://jakewharton.com/] * John O'Reilly * Website [https://johnoreilly.dev/] * KMP samples on GitHub [https://github.com/joreilly] * Konstantin Tskhovrebov * Mastodon [https://androiddev.social/@terrakok] * Tadeas Kriz * Mastodon [https://mastodon.social/@TadeasKriz] * Bluesky [https://bsky.app/profile/tadeas.bsky.social] (0:00) Introductions (1:40) Why be a KMP expert? (9:14) First steps to being an expert (16:38) Respecting each platform (24:04) Libraries for KMP (27:45) Advanced learning resources (38:18) Ecosystem wishlist (43:03) Exercising your KMP skills (48:15) Shoutouts to other experts (51:34) Wrap-up

In a slightly unconventional episode, Sebastian and Márton talk to the founders of Skip, an iOS-to-Android, Swift-to-Kotlin transpiler solution. Marc and Abe have a background working on both Apple platforms and the JVM, and their latest project is a bridge across these two ecosystems. * Skip [https://skip.tools/] * Skip.tools on GitHub [https://github.com/skiptools] * Contributing to SkipUI webinar [https://www.youtube.com/watch?v=gJm0zBej0z0] * kdoctor [https://github.com/Kotlin/kdoctor] Hosts: * Sebastian Aigner * Website [https://sebi.io/] * Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun * Website [https://zsmb.co] * Bluesky [https://bsky.app/profile/zsmb.co] Guests: * Abe White * Twitter [https://x.com/aabewhite] * Mastodon [https://mas.to/@aabewhite] * Marc Prud'hommeaux * GitHub [https://github.com/marcprux] (0:00) Weather (2:02) Introductions (3:10) Elevator pitch [https://skip.tools/] (3:45) The initial idea (6:14) Pivot around the server-side (8:35) Skip(.tools) (8:56) The target audience (9:58) What about Android devs? (12:11) The current state (14:57) Pricing and components (16:43) Contributing to SkipUI [https://www.youtube.com/watch?v=gJm0zBej0z0] (18:55) Reimplementing everything (23:07) The Skip stack [https://github.com/skiptools] (26:17) Wrapping JVM types (28:27) Writing Kotlin in Swift?! (29:56) Tooling support (32:02) There’s a Gradle project! (34:39) iOS API coverage (38:24) Platform differences (40:10) Data storage (44:31) Building on JVM libraries (46:42) JSON problems (48:00) Testing the Skip stack (51:42) SwiftUI to Compose (58:21) IDE experiences (1:03:35) Conclusion

Rated 4.7 in the App Store
Prøv gratis i 7 dager
99,00 kr / Måned etter prøveperioden.Avslutt når som helst.
Eksklusive podkaster
Uten reklame
Gratis podkaster
Lydbøker
20 timer i måneden