Published Apr 5, 2023

SE Radio 558: Michael Fazio on Modern Android Development

Michael Fazio delves into the future of Android development, shedding light on Kotlin's revolutionary coroutine model and its seamless integration into modern practices. With a focus on Jetpack's modular architecture and the transition to Jetpack Compose, Fazio reveals the dynamic shift in Android programming towards efficiency and best practices.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Coroutines

    Kotlin's coroutine model revolutionizes asynchronous programming by offering a streamlined approach compared to traditional methods. explains that coroutines act like lightweight threads, allowing developers to execute tasks asynchronously without the complexity of managing multiple threads 1. This model simplifies Android development by enabling sequential execution of suspending functions within a coroutine block, which runs off the UI thread, thus enhancing performance and responsiveness.

    Coroutines are what you use for asynchronous development. They're kind of like lightweight threads, but in the background, they're really able to run on any type of thread.

    ---

    This approach contrasts with older methods like async tasks, which required extensive code and class management, making coroutines a preferred choice for modern Android apps.

       

    Async Challenges

    Before the advent of coroutines, asynchronous development in Android was fraught with challenges. describes the cumbersome process of using async tasks in Java, which involved overwriting methods and managing entire classes for simple operations 2. Developers faced difficulties with device fragmentation and unreliable emulators, complicating the testing and deployment of apps.

    You're doing this in Java, you're trying to make async calls somewhere else, but you have to use async tasks, which is an entire class.

    ---

    These obstacles often led to unstable applications, highlighting the need for more efficient solutions like Kotlin's coroutines.

       

    Kotlin's Edge

    Kotlin's approach to asynchronous programming significantly improves upon Java's previous capabilities by integrating seamlessly with modern tools like Jetpack Compose. notes that this integration allows developers to maintain logic and UI within Kotlin, reducing reliance on XML layouts and simplifying the development process 3. Google's endorsement of Jetpack Compose as the future of Android development further underscores its advantages.

    If you can keep your layouts and UI together, it's going to make things a lot easier.

    ---

    For newcomers to Android, starting with Jetpack Compose offers a more intuitive entry point, avoiding the pitfalls of outdated practices.

Related Episodes