Talking Kotlin

Moving 1M users to Kotlin & Compose: JB Toolbox


Listen Later

Victor Kropp tells us the story of moving JetBrains Toolbox from C++ to 100% Kotlin. Victor (https://twitter.com/kropp) leads the Toolbox team at JetBrains, a small app that is the single entry point for developing with JetBrains IDEs, which you can download at https://www.jetbrains.com/toolbox-app/. It allows you to automatically download and update your IDEs, and open all your projects with a single click.
Victor shares the story of how toolbox came to be – from its humble beginnings as an internal Hackathon project back in 2015, to an app serving 1 million monthly active users. Together, we dive into the tech stack of Toolbox and its evolution. We learn about the initial tech stack: C++ for the business logic and JavaScript and React for the user interface. Victor shares the challenges and benefits of using this stack – from hiring to UI visuals.
We learn why Toolbox took the big step of migrating from C++ to Kotlin, from the ability to reuse code in the IntelliJ platform to developer ergonomics. Victor takes us through the multi-step process of how they arrived at a pure-Kotlin solution. The first step we talk about is the migration of the Toolbox business logic to Kotlin using Regex wizardry and reimplementing methods with the help of Kotlin’s auto-converter.
Victor then sheds some light on replacing the embedded web user interface with Compose for Desktop (https://www.jetbrains.com/lp/compose/), and the benefits Toolbox gained from it: reducing the load of having to serialize a lot of objects, being able to use the same language when implementing a full feature front to back, library reuse, and better performance. We learn that this transition only took 6 months, while still being able to ship new features to Toolbox at the same time, and why the team chose Kotlin on the JVM instead of Kotlin/Native.
With React and Compose for Desktop both being modern declarative UI frameworks, Victor also talks more about how concepts and vocabulary transfers between the two (https://tigeroakes.com/posts/react-to...), lowering the barrier of entry for people who want to build native user interfaces and already have web development experience. We also learn more about how Toolbox moved design primitives and UI components from the CSS to the Compose layout system, among other topics.
Seb also compliments Hadi on the Ktor 2.0 presentation (https://www.youtube.com/watch?v=mye9N...) from the Kotlin 2021 Premier Online Event (https://pages.jetbrains.com/kotlin-pr...).
...more
View all episodesView all episodes
Download on the App Store

Talking KotlinBy Talking Kotlin

  • 4.3
  • 4.3
  • 4.3
  • 4.3
  • 4.3

4.3

17 ratings


More shows like Talking Kotlin

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

272 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

284 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

265 Listeners

a16z Podcast by Andreessen Horowitz

a16z Podcast

1,032 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

40 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

621 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

269 Listeners

Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

Super Data Science: ML & AI Podcast with Jon Krohn

298 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

189 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

9,095 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

389 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis

462 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

53 Listeners