Developing an android app is not easy as there are thousands of different possible combinations of OEM, hardware, and Android versions.
I have developed apps that are used by a few users to millions of users.
10 tips from the 10 years of android development experience.
We are what we repeatedly do. Excellence, then, is not an act, but a habit. Try out Justly and start building your habits today!
Contrary to web development, android development requires lots of machine resources.
If you don’t have a good machine, you will end up waiting for 1–5 minutes on each app run depending on your app size and where you make the change.
Getting a good machine will save you 1 day per week and that’s like having an extra week in a month. I would recommend a configuration with at least 16GB of RAM!
Native android apps can be developed with currently 3 trending approaches
Android devices come with every possible combination of screen resolution, density, and size and there are over 15,000+ devices available.
While optimizing for all devices is not possible, designing your app with the smallest device in mind will make sure it works on most of the devices.
Create an emulator with the smallest resolution and make sure you test your app on it. If possible, use it as the default device.
Unlike web where most of the machines are connected to the power grid, android devices will have limited battery and resources.
Make sure you are not doing any resource hungry operation in background without user’s permission as they may need it for an emergency.
Having battery dead when they most need it will make them remove your app. Or worse, they can spread the words in their circle as well, ultimately damaging the branding.
In an ideal world, if something works on stock android versions, it should work on every other device.
However, that’s far from reality. Most OEMs modify the firmware as per their need and often in a way that breaks android CTA.
That means even if you doing something in a right way, it will break on a few devices and you will have to handle it with a workaround.
Checking apps occasionally or shipping major changes can be helpful. You will avoid bad reviews and user experience.
Android behavior can be surprising on some OS versions. Make sure you verify it on at least 3 versions.
There are a few libraries on android that will be useful for every android app. Make sure you search for it and include it in your project.
There’s a recent blog written by Canopas team that can be useful too!
Most users don’t like to type credentials. They will use google or external credential manager to autofill login whenever possible. Making sure your app works with password manager will leave a good impression.
If possible, avoid your login entirely and use google/facebook/twitter logins to authenticate users.
Well, this is not just about building the app and storing as artifacts. No, go all the way.
Configure your master/main branch to be deployed on Playstore internal channel on every commit and make sure right people are invited. This will help everyone with having latest build.
Once a build is good enough, just promote it on to production from internal channel on PlayStore.
Android development advances at a rapid pace. Following a good weekly or some blogs can be really helpful to stay up to date on the new developments.
There are many good resources out there, I can recommend android weekly https://androidweekly.net/ and fragmented podcast https://fragmentedpodcast.com/ to get started.
Drawing from a decade of experience, I offer ten essential tips to navigate the complexities of Android app development, enhancing your process, creating robust apps, and delivering a superior user experience.
Whether you need...