Android Plataforma - Part 16: Final thoughts
By Rodrigo Sicarelli 2 min read Updated
Over the last articles, we built a platform from scratch, learning and applying several concepts with the goal of making multi-module Kotlin apps more flexible and scalable.
I’d like to share a few final thoughts on everything we’ve covered, and suggest some next steps for future series!
Do I really need a platform?
That’s the million-dollar question.
As an individual, the main reason to adopt this strategy is if your repository is very large, or if you have several other open source projects and want help maintaining them.
For small or educational projects, all this complexity is hard to justify.
On the other hand, for large applications with many contributors, a solid platform really makes a difference.
A healthy platform encourages the team to embrace modularity, which brings significant gains in productivity and maintenance, since the practices you adopt drastically cut compilation and build times.
This is especially relevant for companies that have several apps published in the store, whether from the same company or, in the case of a consultancy, with internal artifacts.
Just import your platform to automatically get access to a range of features that are essential for scaling your projects.
What about best practices?
As we saw throughout the articles, there’s no single way to build your platform.
It’s essential that you and your team are aligned on several aspects, such as:
- Which features do we want to expose to the modules?
- What will the platform’s default configurations be?
- What terminology should we use? Resources, Features, or Applications?
The end goal is to have a solid platform that makes sense within the context of your product.
Next steps
Thank you so much for your patience and persistence in reading through and working through all this material.
I’m curious to hear what you think, the positive (or negative) impacts you’ve seen, and the ideas you and your team came away with.
As for next steps, I’m still deciding what to cover:
- Adapting this platform to Kotlin Multiplatform and having a single solution for Android and iOS using Compose Multiplatform.
- Exploring how to extract our platform into a separate repository, and discussing Maven artifacts and how to consume your platform in any project as a regular dependency.
Bye!