You’ve probably come across the BOM term if you’ve worked with big libraries like Jetpack Compose or Firebase. But what exactly is a BOM dependency? Why is it important? And how can we create our own BOM for our SDKs and their dependencies? Let’s find out.
As an example, we can take a look into the Jetpack Compose BOM dependency’s package contents. For this purpose, we can open Google’s Maven repository and search for it. Inside you can see only a POM file. Let’s see what’s inside.
The Gradle build system Version Catalog is a powerful tool that can help you manage dependencies and plugins in your Android projects. Instead of hard-coding dependency names and versions in individual build files and updating each entry whenever you need to upgrade a dependency, you can create a centralized version catalog of dependencies that various modules and even projects can reference in a type-safe way with Android Studio assistance. This makes managing dependencies and plugins easier when you have multiple modules or projects.
Looking back at another successful year of Droidcon Berlin, the leading conference for Android development stirs a mix of emotions. The event, held in the vibrant city of Berlin, Germany, once again acted as a hub for sharing knowledge, networking, and innovation among Android enthusiasts from around the world.
Based on the website, This year’s Droidcon Berlin spanned three insightful days and drew over 1,300 enthusiastic Android developers. With a remarkable lineup of more than 100 technical talks spread across five tracks, attendees had an array of choices, exploring sessions that catered to various aspects of Android development. From in-depth explorations of cutting-edge technologies to practical workshops aimed at enhancing skills, Droidcon Berlin left no stone unturned in its efforts to empower and educate the Android community.
A Standout Keynote
A notable highlight of this year’s conference was the captivating keynote delivered by Hadi Hariri, a prominent figure in the development sphere. Hariri’s extensive experience, along with his role as the leader of the Developer Advocacy team at JetBrains, made his insights especially impactful. As a fan, I was thrilled to engage in a discussion with him, diving into topics like Kotlin Multiplatform (KMP) and the exciting future of Kotlin itself. Hariri’s passion for coding was palpable, and his thoughts on the future of Android development left the audience inspired and invigorated.
A Thriving Ecosystem of Innovation
Beyond the enlightening sessions, Droidcon Berlin 2023 provided a platform for numerous sponsors to showcase their contributions to the Android ecosystem. Interviews with key sponsors shed light on various offerings, including security services, publishing solutions, and dynamic SDKs designed to enhance app performance at runtime. These conversations highlighted the comprehensive support system surrounding Android development and underscored the conference’s role in fostering connections between developers and industry stakeholders.
The Strength of Community and Collaboration
A heartfelt acknowledgment goes to the dedicated members of the program committee, who meticulously curated the conference agenda. Their unwavering commitment to ensuring top-quality content undoubtedly played a role in the event’s success. The sense of camaraderie and the willingness to share knowledge that pervaded Droidcon Berlin 2023 underscored the significance of community in the ever-evolving realm of Android development.
As the curtain falls on another edition of Droidcon Berlin, a feeling of accomplishment mingles with anticipation for the future. The lessons learned connections established, and insights gained will undoubtedly continue to resonate within the hearts and minds of all those fortunate enough to be part of this annual Android extravaganza. Until next year, Droidcon Berlin stands as a beacon of inspiration, propelling the Android community to greater heights.
Dependency injection is a design pattern in which an object or function receives other objects or functions that it depends on. It aims to separate the concerns of constructing objects and using them, leading to loosely coupled programs.