Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate the source base to Kotlin #1099

Closed
wants to merge 6 commits into from
Closed

Migrate the source base to Kotlin #1099

wants to merge 6 commits into from

Conversation

azlekov
Copy link
Contributor

@azlekov azlekov commented Aug 19, 2021

@mtrezza in continuation of #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.

- Replace all anonymous classes with lambdas where possible.
- Make all fields final where possible
- Internal classes as static where possible
- Replace test assertions with context ones
- Use diamond <> where possible
- Use method references where possible
- Imports re-arrange
@mtrezza
Copy link
Member

mtrezza commented Aug 19, 2021

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
Copy link

bahaa-kallas commented Jan 30, 2022

@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
Copy link
Contributor Author

azlekov commented Jan 31, 2022

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants