this post was submitted on 15 May 2024
31 points (100.0% liked)

Android Development

539 readers
8 users here now

Welcome to the programming.dev Android development community!

The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 6 months ago* (last edited 6 months ago) (1 children)

I am starting to have mixed feelings about this. It feels like I either have chosen the wrong technology or there is something wrong with me.

Had to drop support to every other platform and only working on the commonMain and androidMain source sets (so what's the point of KMP after all?) and still the app is not on par with purely native counterparts (main pain points: navigation, l10n, image loading/rendering, video players, markdown rendering using Compose multiplatorm, resource access especially for typefaces, using mocks in tests, and the list could go on...).

Maybe Compose multiplatorm is the real culprit but God, have mercy on me please....

[–] [email protected] 2 points 6 months ago (1 children)

Uh-oh heretic spotted. Recant everything you've said or I'll make you justify every line of your manifest to a robot!

[–] [email protected] 1 points 6 months ago (1 children)

I hoped to be burned alive like in the good ol' times.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (2 children)

I hereby sentence you to writing exception handling code in viewmodels with the following requirements:

  • exceptions may be native
  • exceptions must be defined in separate modules for Clean Architecture
  • all calls to native methods must use callbacks for Objective-C compatibility
  • you must launch a separate coroutine when rethrowing some (TBD) exceptions to prevent the exception from being caught by a parent other than the root exception handler (or the calling thread!)
  • you must use ViewModelScope except ~~when writing to SharedPreferences~~
  • you should be using DataStore, heathen
[–] [email protected] 1 points 6 months ago (1 children)

That was painful even to read...

[–] [email protected] 3 points 6 months ago (1 children)

throw NotReadingThatException

[–] [email protected] 1 points 6 months ago
[–] [email protected] 1 points 6 months ago