this post was submitted on 09 Jul 2023
9 points (100.0% liked)

Android Development

556 readers
2 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 2 years ago
MODERATORS
 

The "native" Android ecosystem has grown way too over-complicated for my liking. I do not want to dependency inject a Reactive ViewModel Room Repository DAO Purpose Factory (without blocking the main thread), I just want to make a god damn app.

My current wishlist is:

  1. Be reasonably efficient (we're working with phones here)
  2. Be completely open source (i.e. I should be able to throw my app on F-Droid when it's ready)
  3. Have a not terrible implementation of Material 3/You
  4. Don't be too "janky" for the end user (sorry, PWAs)
  5. Be reasonably mature

What does this leave me with? Flutter? React Native?

top 7 comments
sorted by: hot top controversial new old
[–] lightsecond 4 points 1 year ago

You didn’t say which technologies/platforms you’re already comfortable with if any.

[–] kabat 2 points 1 year ago (1 children)

Qt QML works for me. It's declarative, easy to learn, looks good, you can write logic in JavaScript, or have your code on the backend in C++, or Python with PySide. You can easily iterate on the desktop and run the exact same app on the phone, or TV. It's fast too. And given you want to go open source, licensing is not a headache (unlike closed source on LGPL Qt).

Generally it's been my UI of choice for years and I'm pretty happy with it, now with excellent Python support even more so (though I don't know how, or even if, it's possible on mobile).

[–] lightsecond 1 points 1 year ago (1 children)

Cool. Does Qt have Material You compatible components?

[–] kabat 1 points 1 year ago (1 children)

There's this https://doc.qt.io/qt-6/qtquickcontrols-material.html available as stock style. I don't know about "You" variant of material design, so I can't really say if that's it. There are a couple of style implementations on GitHub as well.

[–] lightsecond 1 points 1 year ago

Thank you! It doesn’t quite look like the native android components but close enough.

[–] balder1993 1 points 1 year ago* (last edited 1 year ago)

If you’re writing code for yourself, you don’t need to follow the trendy stuff. Native Android can be pretty straightforward if you stick to XML and plain old MVC architecture.

If you want to build an open source app that you don’t want to have maintenance headaches it seems the best future-proof choice.

React Native has a dependency hell problem, and Flutter, well… might be a good choice but with companies cutting costs and the history of Google I don’t know if they will keep throwing money at it to make sure its development keeps on pace. Creating a framework such as Flutter requires a lot of constant effort to catch up with all the supported platforms, reason why there isn’t many similar alternatives.

[–] DeprecatedCompatV2 1 points 1 year ago

Flutter will probably meet your needs.