parse-community / Parse-SDK-Android

The Android SDK for Parse Platform
https://parseplatform.org/
Other
1.88k stars 735 forks source link

Migrate the source base to Kotlin #1099

Closed azlekov closed 2 years ago

azlekov commented 3 years ago

@mtrezza in continuation of https://github.com/parse-community/Parse-SDK-Android/pull/1095 I started to port the current Java files to Kotlin. As I mentioned in the previous PR my goal would be to bring this SDK up-to-date.

mtrezza commented 3 years ago

That is amazing and thanks for continuing this effort!

Please let us know whatever you need and how we can support you in that.

Would you mind opening an issue for this and reference this PR and the previous PR? So we can have conceptual discussions there (regardless of the PR) vs. implementation related discussions in the PR. And maybe you could just roughly list the planned steps there, so we are all on the same page and make it easier for others to join the discussion. I would imagine @cbaker6 also has some feedback regarding the structural approach, given his work on the Swift SDK. It would be good to discuss that in the issue.

Should we actually create a new repo "Parse Kotlin SDK" for that or does it make more sense to modify the Android SDK?

bahaa-kallas commented 2 years ago

@L3K0V @mtrezza What really happened? Did you change your mind about switching to kotlin? Was there any obstacles ? or it was simply not possible to make it kotlin multi-platform ready. I would love to know some details about your final decision.

azlekov commented 2 years ago

@bahaa-kallas migration to Kotlin of this huge source base is really big effort and I had few attempts. For sure it not for me alone doing it in my spare time. If I find someone with whom we can join forces it will be great. I also consider writing from scratch, but for this I need also to focus on it and it's tricky parts - encoding, decoding, traversals and all other challenges down the road.

Additionally I have a working PoC, brand new GraphQL-based SDK but it provides very limited functionality compared to this REST SDK, just because the GraphQL support on the Parse Server is very limited and kind of poor.

The KMM path will be very long and depends on the path taken. I suggest to continue and discuss everything else in #1100