Now that Google IO is over it’s time to sit down and digest all that information. I work on the Android platform and these are the top 5 biggest changes that will either change the way Android developers write their apps or will impact them in the coming years.
1. Kotlin — The Java language is really showing its age as it’s no longer the new kid on the block. The fact that new Java 8 features such as streams can only be used on API 24+ mean that developers have very limited options to use these new features. Java served its purpose well on Android by quickly allowing java developers to easily develop on Android. But now it’s time to let go and slowly transition over to Kotlin which provides all the modern language features a developer could want. I’m now really looking forward to learning Kotlin and writing my first line of Kotlin code. Expect a ton of Kotlin articles to appear on Android Weekly in the coming months.
2. Tensor Flow Lite — Google’s move from mobile first to AI first means that mobile apps will be made smarter and more context aware. Apps need to work offline as well and tensor flow lite will enable apps to still use AI even when the user doesn’t have a network connection. The AI models created in the cloud using powerful TPUs specially built for machine learning can now be used through tensor flow lite. Taking advantage of the ever increasing CPU power on a mobile phone this means that such use cases such as detecting if the user is walking, running or doing sit-ups can be determined locally. Tensor flow lite is available on both iOS and Android and Google continues to provide an open and inclusive capability to the whole mobile native community.
3. IOT (Android Things) — Google introduced their new Cloud IOT Core platform to simplify device registration, device management and data collection. This means that developers can now quickly and securely on-board new devices to the cloud in a matter of seconds. During the opening keynote it was predicated that the number of IOT devices will soon out number smart phone 10 to 1.
This new industry will open up even more opportunities to Android developers as the OS is based on a cut down version of the Android OS. This means that the number of Android developers will surely grow in the future however in the near term this could even add to the pressures of finding good Android developers due to the current shortage.
The applications for IOT are unlimited using them in telemetry systems such as monitoring temperature and water levels immediately comes to mind. My Dad was a scientific computer programmer who worked in a water company to monitor water levels at dams and to issue flood warnings when the creeks or storm water drains filled up too fast. It interesting to think that back then in the 70’s it would have taken years if not decades to build their closed systems in Fortan and now similar systems can be built in months. I was lucky to have dad who worked in the IT industry back then and his career choice inspired me to study Computer Science at university.
4. Architecture Blueprints– A lot of the apps provided in the playstore today especially those that are provided by smaller companies chose deliberately to provide only portrait and online support. This is mainly due to the additional complexities and costs to provide such support for offline use and configurations changes e.g. user rotating their device. Most of the Silicon Valley companies with huge resources have designed their apps to handle these situations as they provide a much better mobile experience.
Google has now levelled the playing field by making it much easier to use their new design blueprints and classes to help handle both of these scenarios. The new Lifecycle interfaces will definitely lead to better encapsulation by removing lifecycle code from the activity and fragment and moving it to the class where it belongs. The new ROOM sqllitedatabase and the LiveData interfaces will make it easier to provide a spinner free app and simplify the code needed to sync between data retrieved by the network and data stored in the database.
5. Constraint layout — Although this was introduced in IO last year Google is trying to encourage developers to use their new design tool in Android Studios. It is now the default layout in Android Studios 3 and should be significantly faster than editing an XML file manually. In my previous life as a web developer there was never a good WSWIG editor that could generate good html code and now in Android Studios we have that luxury. I think Google did an excellent job this year of listening to developers pain points and then trying to fix these issues. This should lead to happier and more productive Android developers. Their new version 1.1 of the Constraint layout also promises to provide better animations out of the box without requiring any work from the developer. Again, this is definitely another new thing to learn right now.
Jane Lee — Editing and proof reading