Android
DROID DOES
Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.
The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:
Rules
1. All posts must be relevant to Android devices/operating system.
2. Posts cannot be illegal or NSFW material.
3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.
4. Non-whitelisted bots will be banned.
5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.
6. Memes are not allowed to be posts, but are allowed in the comments.
7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.
8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.
Community Resources:
We are Android girls*,
In our Lemmy.world.
The back is plastic,
It's fantastic.
*Well, not just girls: people of all gender identities are welcomed here.
Our Partner Communities:
Android Studio and Jetpack Compose is going to be the path of least resistance, but i’d need to hear more requirements to make a real recommendation (besides try to avoid React Native unless you have a really good reason)
Why should I avoid React Native?
it’s just a lot of complexity, especially if you’re targeting only Android. it’s single threaded and not native to the platform. you’ll be behind on platform versions and have to find shims for everything. you’ll run into weird issues for which the fixes are not supported by the native platform. the more layers you put in between you and the native runtime, the more things can go wrong
Thanks!
Anticipate technical debt and follow what Google recommends. In few words, use Kotlin and Compose.
However you should really have a look on Google guidelines. In more worlds:
- by default Kotlin and Compose
- if some logic to share between other projects in other environments: Kotlin Multi Platform (KMP)
- if shared UI: Flutter (but Google reduced Flutter teams and KMP is being better and better, so we can suppose Flutter will join the Google Graveyard
Thanks!
I use Flutter professionally and really like it
Android dev of many many many years here.
Android Studio with Jetpack Compose.
I'd also suggest you try doing kotlin multiplatform. You can take your Android app and end up with a iOS app, and if you want, a desktop app. You would need a Mac for the ios app eventually, but not for the desktop apps.
There is minimal work to get it set up to start, they provide a wizard, and there are a lot of libraries available now that are multiplatform.
IOS and Desktop are both considered stable now, but the iOS beta was pretty solid.
All the apps it generates are native apps.
Even if you don't want to do multiplatform to start, if you use kotlkn only libraries that are capable of it, you could easily switch to it in the future if you wanted to as it'd be structured properly from the start.
E.g for libraries if you use Koin instead of Dagger2/hilt you could switch to multiplatform in the future without much effort. If you chose dagger instead, it'd be a big task to switch. And if you start it as multiplatform but Android only, you'll know which areas still need implementation work later to eventually work on iOS.
Depends if you want the things you learn to help you in future career paths, I chose to learn flutter because I wanted an app cross platform on all devices and not just ios, android and web which is what react native offered (plus no good full storage access of device, cuz damit I had visions), but it's difficult to find a position as Flutter Dev without at least 5 years of experience.
Depends on what you want to do, what you know, and how much effort you want to put in. For other ways, outside the usual Android tools, there are a couple options. With python, there's a project called BeeWare that makes a lot of things easier to deal with.
Personally, though, I've been game deving in Godot, and have even made a few dumb little personal apps with it. There's coding involved, but there's also a lot you can do in the interface to design the app visually, and exporting to any platform is pretty straightforward. Even the Godot editor itself is made with the Godot editor, so it can do a lot of things outside games.