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

Multiplatform support #929

Open
10 tasks
ZacSweers opened this issue Sep 2, 2023 · 1 comment
Open
10 tasks

Multiplatform support #929

ZacSweers opened this issue Sep 2, 2023 · 1 comment

Comments

@ZacSweers
Copy link
Owner

ZacSweers commented Sep 2, 2023

Would start with Desktop and then move to iOS

Areas that need investigation

  • KMP Paging lib https://github.com/cashapp/multiplatform-paging
  • Audit use of direct android APIs that have KMP alternatives
    • Common ones are things like Context, SuppressLint, etc
  • What does a Desktop CatchUp look like? Is it landscape with panels or is it just a windowed phone app?
  • iOS would require migrating off of Anvil and Dagger 😬. Perhaps github.com/evant/kotlin-inject, but no replacement for anvil currently. Same with Circuit code gen.
  • Debug screen has most android-specific APIs, maybe that goes later
  • Android-only dependencies
    • Image loading (Coil is building something I think?)
  • JVM-only dependencies
    • Retrofit, Eithernet, other
  • Resources
@ashdavies
Copy link

Coil doesn't yet support multiplatform, but they're working on it.

I opted for an expect/actual delegating to Coil for Android, and a very naive manual implementation for desktop AsyncImagePainter.kt

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

No branches or pull requests

2 participants