Hi everyone, I'm
Vincent Lim, a student matriculating to university this year. I discovered Kotlin a few years back when Google started officially supporting Kotlin in their Android development and I have loved the language ever since.
Coming from the days when Java and XML layouts was the norm, I find Kotlin and Jetpack Compose a breath of fresh air! Recently, I also tried out Kotlin Compose Multiplatform by developing an app with my friend and we really enjoyed it. I believe in the future of Kotlin for multiplatform development hence I'm excited to contribute to Kotlin Multiplatform projects.
Recently I discovered a project idea in GSoC that really interests me:
Support Android and iOS targets in Kotlin Multiplatform for an existing Google service
1. Why I chose this:
a. Personally, as a developer, I have benefitted from many of Google's APIs and SDKs to develop my own personal mobile apps, my favourite being Firebase and Google Maps.
b. I believe the greatest resistance to getting people to adopt Kotlin Multiplatform is the smaller ecosystem. While its multiplatform features still allow developers to use many of the pre-existing libraries, I believe libraries that natively support Kotlin Multiplatform would significantly ease adoption.
2. My idea for this project is building a multiplatform library for Google Maps with Kotlin-first design.
a. Currently, the closest to this I find online is
Maps Android KTX, which provides idiomatic Kotlin extensions for Google Maps on Android. I believe we can borrow from many of its API design when working on the multiplatform implementation.
b. I am also interested in extending this to beyond just business logic. I believe that having multiplatform Composables for Google Maps library would be a good opportunity to showcase Kotlin Compose Multiplatform. A reusable Map component (along with other related components like Markers).
c. Although this is my most interested project, I would be willing to explore other Google services if this project is not feasible especially in the time constraint of Google SoC.
May I have some suggestions on:
• Would this project be valuable for Kotlin Multiplatform developers?
• The scope of this project idea can be quite large. Any suggestions on a smaller, more focused scope?
• Any insights or best practices for developing Kotlin Multiplatform libraries?
• Any other suggestions