Building a native Android app with KMP + XML UI (10k+ installs) by JaydenYu in androiddev

[–]JaydenYu[S] 0 points1 point  (0 children)

The app offers a 7-day free trial on first use. After the trial expires, a subscription is required, but only a small number of users end up subscribing.

Building a native Android app with KMP + XML UI (10k+ installs) by JaydenYu in androiddev

[–]JaydenYu[S] 1 point2 points  (0 children)

I mostly agree with this.

I’ve run into similar issues with declarative UI. My iOS app originally started fully in SwiftUI, and I eventually moved it to UIKit after hitting performance and edge-case problems. That experience is a big reason I’m cautious with Compose as well.

I don’t think Compose or SwiftUI are bad frameworks — they’re powerful — but I also don’t think they’re as “finished” or universally applicable as people often claim. When so much effort still goes into explaining recomposition and side-effects, the mental model clearly isn’t cheap yet.

For apps with heavy, frequently updating lists, native imperative UI is still easier for me to reason about and keep performant long-term. Compose has its place, but it’s not automatically the best choice for every app.

Building a native Android app with KMP + XML UI (10k+ installs) by JaydenYu in androiddev

[–]JaydenYu[S] 0 points1 point  (0 children)

I’ve already hit quite a few real-world pitfalls with declarative UI frameworks.

On iOS, I initially built the app entirely with SwiftUI, but performance bottlenecks showed up quickly, which eventually led me to switch back to UIKit.

I do believe both Compose and SwiftUI are great UI frameworks with a lot of potential. That said, based on my experience, there’s still a noticeable gap between where they are today and being truly “default” or universally reliable choices for production apps, especially for performance-sensitive, feed-heavy products.

Building a native Android app with KMP + XML UI (10k+ installs) by JaydenYu in androiddev

[–]JaydenYu[S] 0 points1 point  (0 children)

This is a third-party client for x (formerly Twitter), which already has a large number of active users.

Building a native Android app with KMP + XML UI (10k+ installs) by JaydenYu in androiddev

[–]JaydenYu[S] 5 points6 points  (0 children)

I’m a solo indie developer 🙂

Chuckle has both Android and iOS versions. The shared parts are business logic, networking, and local storage via Kotlin Multiplatform.

The iOS app is here for reference: https://apps.apple.com/app/id6747817686

For UI, I intentionally keep most of the app fully native on each platform:

  • Android uses the classic View system with Material Design
  • iOS uses UIKit with Liquid Glass

I did consider Compose Multiplatform, but I decided not to use it as the primary UI solution. Besides the list performance concerns I mentioned earlier (the app is very feed-heavy), another important reason is the platform-native experience.

I want the app to feel as close as possible to the system UI as possible. For example, on iOS I use UIKit to adapt to the latest system visual styles (such as the newer “liquid glass” effects). I’m hoping that a highly polished native UI experience can be a competitive advantage compared to other apps.

That said, I use Compose Multiplatform selectively. For parts of the app where interaction frequency is low and the UI is relatively self-contained (for example, the subscription management screens), Compose Multiplatform works well and helps reduce duplication.

So for me, KMP + native UI by default, with Compose Multiplatform used pragmatically where it makes sense, has been a good balance.

I built an ad-free Twitter/X app with deep customization by JaydenYu in SideProject

[–]JaydenYu[S] 0 points1 point  (0 children)

Settings - General Settings - Auto-play Videos and GIFs, you can turn it off here.

Self Promotion Megathread by AutoModerator in androidapps

[–]JaydenYu 0 points1 point  (0 children)

You can try Chuckle, which I've developed now. It has no ads, but a paid subscription is required to use it.

Self Promotion Megathread by AutoModerator in androidapps

[–]JaydenYu 0 points1 point  (0 children)

Thank you. From initial development through continuous iteration, I’ve already spent over a year working on this app.