Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines (Paperback)
Developing applications for the Android mobile operating system can seem daunting, particularly if it requires learning a new programming language: Kotlin, now Android 's official development language. With this practical book, Android developers will learn how to make the transition from Java to Kotlin, including how Kotlin provides a true advantage for gaining control over asynchronous computations.
Authors Pierre-Olivier Laurence, Amanda Hinchman-Dominguez, G. Blake Meike, and Mike Dunn explore implementations of the most common tasks in native Android development, and show you how Kotlin can help you solve concurrency problems. With a focus on structured concurrency, a new asynchronous programming paradigm, this book will guide you through one of Kotlin's most powerful constructs, coroutines.
- Learn about Kotlin essentials and the Kotlin Collections Framework
- Explore Android fundamentals: the operating system and the application container and its components
- Learn about thread safety and how to handle concurrency
- Write sequential, asynchronous work at a low cost
- Examine structured concurrency with coroutines, and learn how channels make coroutines communicate
- Learn how to use flows for asynchronous data processing
- Understand performance considerations using Android profiling tools
- Use performance optimizations to trim resource consumption
About the Author
Pierre-Olivier Laurence is the Lead Software Engineer at Safran Aircraft Engines near Paris, France. He started learning Java and Linux systems over a decade ago, which quickly lead to full time Android development. A frequent collaborator on the TileView open source library since its inception, Pierre recently created a version of the library that's 100% Kotlin, leveraging the power of Kotlin coroutines for truly impressive performance gains. An early adopter of Kotlin, Pierre has maintained several open source Kotlin projects since the language was introduced in 2015. With an eye toward personal development, Pierre is an avid reader of O'Reilly books and looks forward to mastering even more technologies in the future.Amanda Hinchman-Dominguez is a Kotlin Google Developer Expert, Android engineer at Groupon, and active in the global Kotlin community, both as a speaker and as a community organizer. Starting out in academia, she obtained a B.S. in Computer Science at Grinnell College. Working across web, mobile, and native-desktop development, her roots in metaprogramming research1 and community-based learning heavily influenced her direction in both her interests and her career. Kotlin community back in 2016 and eventually, her career. Her passion for Kotlin naturally shifted towards Android development some years in the industry.She's given technical lectures in Kotlin internationally officially since 2017. She's written dozens more on topics ranging from metaprogramming, compilers and application development. She's participated in the TornadoFX community, and contributed to the Arrow-meta open-source project. She's also involved with the world community via conferences like KotlinConf, Chicago Roboto, Chicago Kotlin User Group, and more. Her current focus is capturing the ever-evolving history of Kotlin and Android and establishing a stronger presence of the Kotlin community.Blake Meike, Senior Software Development Engineer at Amazon, has more than 10 years of experience with Java. He's developed applications using most of the GUI toolkits and several of the Java mobile device platforms.Mike Dunn is the author of Native Mobile Development: an Android to iOS Cross Reference. He is currently the Principal Mobile Engineer at O'Reilly Media, a recognized member of the AOSP community, and a dedicated contributor to the Android open source ecosystem, including the popular tiling image library, TileView. He's contributed to Google's Closure library, and provided extensions for Google's next-gen Android media player, ExoPlayer. Mike has been programming professionally for about 15 years, and is continuing to study computer science in the master's program at the Georgia Institute of Technology.