Modern Android App Architecture with Dropbox Store and JetPack

Appinventiv Technologies
App Development Company
January 28, 2025
Modern Android App Architecture with Dropbox Store
copied!

A few days ago, Dropbox acquired an open-source Store library. The aim behind taking the ownership was to modify it to make it more suitable to the prevailing Android developer ecosystem. 

Now, Store also includes Google JetPack collection of libraries which poses as a solution for creating current-day Android apps.

Google JetPack makes it possible to create high-quality Android apps while accelerating the development process

There are two objectives that this library fulfills – It leverages advanced Kotlin features in order to reduce the boilerplate code and offers high-level abstractions besides those found in the Android SDK, i.e., Fragments and [Activities]. These allow the developers to present complex tasks in an easier and simpler way.

Like in case of the traditional mobile app architecture, there are numerous components in Jetpack that developers can use independently and cover four areas – Architecture, Foundation, User Interface, and Behavior.

Android JetPack

In fact, Google uploaded its own recommended Android app architecture along with JetPack defining the set of modules that make up an Android app and how they interact. As shown in the image, a well-architecture Android app is fundamentally based on the tenets – model-driven UI, separation of concerns, and one-directional dependencies across several modules.

Jetpack module

However, though Jetpack offers most of the components for the creation of an Android app based on the architecture suggested by Google, there is an exception – the Repository layer.

On this matter, Mike Nakhimovich, the creator of Store states- 

“Repository currently only has a few code samples and no reusable abstractions that work across different implementations. That’s one of the big reasons why Dropbox is investing in Store–to solve this gap in the architecture model above.”

Store, while relying on a reactive design, aims to support Android app development where data flows in and out of the UI in a seamless manner without forcing the users to navigate back and forth. Mike goes on to say on this matter –

“Reactive front ends led me to think of how we can have declarative data stores with simple APIs that abstract complex features like multi-request throttling and disk caching that are needed in modern mobile applications.”

To explain this in brief – Dropbox Store helps in connecting the app model with an external data source by using a declarative interface centralizing all data-related activities. 

Store aims at optimizing network usage in order to keep it at a minimum. This library was rewritten Kotlin backed by Coroutines and Flow, followed by another major change of discarding RxJava for structured concurrency paradigm which is implemented in Kotlin reactive streams. 

This switch poses a big impact on ensuring all resources employed in concurrent tasks are freed whenever the task completes, says Mike.

“The big problem with RxJava’s approach to scoping background operations is that it’s too easy for engineers to forget to call dispose. Failing to dispose of active subscriptions directly leads to memory leaks.”

In addition, the Store also supports disk caching, memory caching with TTL and size policies, explicitly skipping the cache to fetch new data from the data source, multi-casting of responses, among many others.

Now, that Dropbox is implementing many changes in the Store for improvement, it has been set on a path of becoming a great source of resources for all Android app development developers.

THE AUTHOR
Appinventiv Technologies
App Development Company
Prev PostNext Post
Let's Build Digital Excellence Together
Let's Build Digital Excellence Together
Read more blogs
Google Acquires AppSheet, a No-Code Mobile App Development Platform

Google Acquires Appsheet, a No-code Mobile App Development Platform

Google recently announced that they have acquired AppSheet, a Seattle based no-code mobile app development platform. The terms of the acquisition have not been disclosed yet, but it has been revealed that AppSheet will continue to serve its existing customers.  AppSheet was founded back in 2014 by Praveen Seshadri and Brian Sabino to help businesspeople…

Bhupinder Kour
Know how Blockchain Help in Combating Deepfake Issues

How Can Blockchain Help in Combating Deepfake Issues?

Remember the video posted by Belgium’s Socialstiche Partij Anders back in May 2018? The one where Donald Trump was blaming Belgium for presenting in the Paris Climate Agreement. Or the one where Trump was a part of the popular Breaking Bad series? Such videos are hitting the Internet every now and then. They are entertaining…

Bhupinder Kour
Microsoft Is Turning Outlook Into A PWA

Microsoft Is Turning Outlook Into A PWA

News in brief: Microsoft is planning to transform its Outlook.com and Outlook for webmail services into PWAs. Outlook.com support is now live and can be accessed with the Canary version of the Chromium-based Edge browser or Brave browser. The company also plans on experimenting by bringing Google Drive, Gmail, and Calendar support to Outlook.com. What…

Appinventiv Technologies
Mobile App Consulting Company on Clutch Most trusted Mobile App Consulting Company on Clutch
appinventiv India
INDIA

B-25, Sector 58,
Noida- 201301,
Delhi - NCR, India

appinventiv USA
USA

79, Madison Ave
Manhattan, NY 10001,
USA

appinventiv Australia
Australia

Appinventiv Australia,
East Brisbane
QLD 4169, Australia

appinventiv London UK
UK

3rd Floor, 86-90
Paul Street EC2A 4NE
London, UK

appinventiv UAE
UAE

Tiger Al Yarmook Building,
13th floor B-block
Al Nahda St - Sharjah

appinventiv Canada
CANADA

Suite 3810, Bankers Hall West,
888 - 3rd Street Sw
Calgary Alberta