Android Development Thoughts
Intro
Looking at software developers, in macro perspective, we're all about the same. We share common knowledge of coding and software development, that we're either been taught or self learned. We create new software, maintain it, fix it when it's broken, and often get angry about how bad the code is we wrote 6 months ago.
In macro terms, that's pretty much the same for all of us. It doesn't matter what frameworks we use, or which language we're programming in, whether you're a freelancer, a junior, or a well seasoned veteran. We write code and we love it.
Well, I sure do, and I hope you do as well :)
The Eco-System
Looking one inch deeper, at some point this starts to change. Details like frameworks, tools, devices, operating systems, etc, can make a difference in our work. They often require code to be written in certain ways to function properly. It changes the way we think.
In Android, as in other system, it is indeed making a difference. The operating system is working in its own way, forcing us to adjust our code to ensure our application run as expected. The user doesn't really care what happens behind the scenes when he/she is using split screen or forgets the application in the background for a while and then reopens it.
?Being an Android developer forces us to write software applications that are designed to operate within the Android ecosystem. They should behave well, and be good citizens on the Android platform.
Sometimes, due to struggles or tight schedules we tend to forget it. Perhaps we think of it as less important. We write some code, make sure it runs and looks fine on a brand new device, that has a large screen and runs on the newest Android OS. Writing great Android applications isn't all about how the UI looks. It is about how it performs overall.
The Android Way
In Android, there are many factors that come into play. Writing an application requires us to take into consideration OS behaviors and limitations such as:
Wait, so you're telling me that Android developers should take all of that into consideration when developing Android applications? Well, yeah, if you want your app to work properly.
While it does sound like a lot of work, and sometimes it is, we can often choose to not fully support all those behaviors. For example, to some products, restoring the full process state after death might not be applicable, and for others it might be. Of course, those decisions vary between work places and products.
Be Awesome
Putting Android aside and going back to the software development roots - we're all here to create awesome software! As developers, we should follow best practices, design fine architecture, use design patterns, stick to common principles, and more. Write code you will admire, believe in, that you're eager to show to others and be proud of!
"Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable"
领英推荐
Be awesome at what you do!
VP R&D | Chief Digital & Data Officer | Executive Management
5 个月Interesting
Android Software Engineering | Engineering Management | Training & Mentoring
5 个月Great article!
Engineering Team Lead at Sweetch
5 个月Couldn't say it better! Our last decade well summarized ?? Loved it! Thanks!
CTO at Matrix Mobile | Founder at Null-Edge | Empowering Businesses with Offshore Development, CTO Services, and Application Growth Consulting
5 个月Love this ????