Android, the worlds most popular mobile operating system just turned 8 years old! 🎉
This amazing platform has come such a long way since 1.0, and to celebrate this milestone I came up with 8 reasons I love developing for the Android platform.
I’m keen to hear yours too!
Android’s Intent system is amazing. It’s a core feature of the OS that was designed extremely well.
Intents allow an app to broadcast its intent to perform an action, and any app to respond.
This opens up so many possibilities for integration between apps, or with the system. Intents are the building blocks allowing system apps to be replaced with 3rd party apps.
Android is well known for its abilities to customised, and we have Intents to thank for that!
Android’s resource system is amazing. There have been surprisingly few changes or updates to the way resources work since Android was released. It goes to show the incredible design and forethought that went into the initial design of Android.
Resources are the central way of defining themes, styles, strings, drawables, layouts and more in your application.
The beauty of this system is that it supports configuration qualifiers — the ability to provide a different set of resources for a different configuration.
A configuration can be anything from the devices language, orientation, screen size, API level and more.
If you are not using the resource system to its full potential, you should be.
The notifications API is amazing. When Android Wear, Android TV, and Android Auto were announced, I expected a whole new set of API’s to enable features such as home screen recommendations for Android TV, cards for Android Wear, Android Auto interactions or Android N’s quick reply. Nope.
The answer? Notifications.
Notifications are used for all of the above. The flexibility of the notifications API is never ending. Coupled with the Intent system they become even more powerful.
You’ll learn to love this API.
Google Play Services is amazing. It’s a bundle of cool, interesting and useful API’s installed as an APK on every (Google certified) device.
The ability to update these API’s outside of Android normal system updates is a huge win for Google and helps to solve some of Androids fragmentation woes.
Updates are released every six weeks so there is always something new to look forward to!
Some of the API’s included in Play Services are:
Be careful though! Adding the entire Google Play Services dependency can quickly put your app over the 64K dex limit. Only compile the modules you need!
And as a bonus, Magnus Hyttsten’s Whats new in Google Play Services videos are hilarious!
Android Studio is amazing! Who remembers the eclipse days? I’ve tried to block it out. 😢
Android Studio is the official IDE for Android, based on IntelliJ Community Edition.
This IDE will be your life — learn to use it! There are infinite keyboard shortcuts, refactoring’s, features and integrations that can save you hours of development time.
The pace of development of Android Studio is fast, and alpha and beta builds are available if you are game enough!
Promising features like Instant Run show that Google are committed to developers and making it easier to build great apps.
The Google Play Store and the Developer Console are amazing. I love that I can release a new application to millions of Android devices all over the world within a few hours. The automated review process means much less overhead in the development cycle. Bug fixes and updates can be rolled out extremely quickly.
The Play Store also has a number of other great features:
The Google Play Store provides a great way to distribute your app. Pay attention to the guidelines, though!
The Android community is amazing. Open source fosters open source.
You’d be hard-pressed to find an app that doesn’t use one of Jake Wharton’s or Square’s open source libraries.
It’s commonplace for large companies like Trello and AirBnb to open source the tools they use internally.
Use the community to your advantage! Libraries like OkHttp and Retrofit, Glide and RxJava can get your next app up and running in no time.
Don’t reinvent the wheel if you don’t have to!
Material design is amazing! Seriously!
Material design is perhaps one of the biggest improvements to date since Android 1.0. It’s a new, very well thought out design language based around amazing animations, transitions, and the metaphor of ‘paper’.
The community adoption and support of Material Design has been huge, with sites like Material Up quickly springing up, encouraging developers to push the boundaries of this incredible design language.
Material Design extends far beyond Android too, with Google applying this across their entire product line, the web, and even iOS.
The implementation can be tricky though. Shared Element transitions are fiddly and hard to get right, and some components of Material Design aren’t yet present in the design library, like bottom navigation.
On top of all of these points, Android has almost 70% market share, is available on thousands of devices, is present on flagships as well entry level devices in emerging markets.
I’m so proud to be an Android Developer, and I love the potential reach I have with this platform. Android apps can run on everything from phones to watches to cars to TV’s. Tell me thats not exciting!
Be together, not the same
That slogan quite aptly sums up Android. An open platform designed for everyone!
If you liked this article make sure to give it a few 👏’s, and follow me on twitter.
Create your free account to unlock your custom reading experience.