Network-Resilient Applications with Store5 | Talking Kotlin #128
Dec 14, 2023
auto_awesome
Join the Talking Kotlin podcast as they dive into the world of Kotlin Multiplatform with guests Mike Nakhimovich, Yigit Boyar, and Matthew Ramotar, creators of the Store library. They discuss the challenges and benefits of building network-resilient applications, the adoption of Kotlin Multiplatform, integration with other Kotlin tools, and the future of Kotlin Multiplatform development.
Store is a Kotlin multi-platform library for building network-resilient applications, providing a single source of truth and supporting integration with other multi-platform libraries.
Store 5 shows promising potential, aligning with Google's best practices and leveraging existing libraries for networking, with plans to explore integrations with iOS-specific technologies in the future.
Deep dives
The Origins of Store: Building a Consistent Networking Layer
Store, now in its fifth iteration, was born out of a need for a consistent networking layer at the New York Times. Initially called Store 1, the library standardized the process of fetching data from the network and caching it. It also provided support for saving data to disk and memory. Store was later open-sourced and has since evolved to include new features such as mutations, conflict resolution, fallback mechanisms, and validation. The library aims to provide a single source of truth and enable developers to build network resilient applications.
Using Store in Multi-Platform Development
Store 5 is a Kotlin multi-platform library for building network resilient applications. While it is still in progress and not recommended for production use on iOS, it shows promising potential. The library aims to align with Google's best architecture practices for building offline-first apps. It leverages existing libraries such as Retrofit and OkHttp for networking, and supports integration with other multi-platform libraries like SQLDelight. Testing utilities are provided to help developers write robust tests for their applications. The team is also exploring integrations with iOS-specific technologies like Core Data in the future.
Community and Future Plans
Store has a thriving community of contributors and has garnered over 3,000 stars on GitHub. While it is challenging to track which prestigious products or companies are using Store in their apps, there are reports of adoption within organizations like Dropbox and Google. The team's future plans include hardening the multi-platform aspects of Store, improving documentation, and potentially introducing bug bounties or incentives for external contributors. They also aim to explore integrations with other libraries and frameworks, such as the AndroidX Paging library, to further enhance Store's capabilities.
Challenges and Considerations
One of the challenges faced by the Store team is accepting payment and establishing sustainable funding for the project. They are also focused on addressing documentation gaps and enhancing the multi-platform aspects of the library. While Store works well with other Kotlin ecosystem components like Molecule and Compose, there is room for further integration and exploration. The team is actively seeking feedback and contributions from the community to refine and improve Store moving forward.
Join us in this exciting episode of Talking Kotlin as we dive into the world of Kotlin Multiplatform with three special guests, Mike Nakhimovich, Yigit Boyar, and Matthew Ramotar, the minds behind the popular library 'Store' — a Kotlin Multiplatform library for building network-resilient applications.
We explore the journey of 'Store' from its earlier versions to the recently released Store 5, shedding light on the challenges faced in making the library multiplatform.
The conversation touches on various topics, from the adoption of Kotlin Multiplatform in different use cases, the integration with other Kotlin ecosystem tools like Molecule, to the challenges and goals ahead for 'Store.'
Whether you're an Android developer, Kotlin enthusiast, or just curious about the latest developments in the Kotlin ecosystem, this episode offers valuable insights and a glimpse into the future of Kotlin Multiplatform development.
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode