This week we had Google I/O kickoff with new about Google Assistant, Photos, and Lens. The first beta of Android O is now available, and Instant Apps can be used by all developers. Here are some of the highlights.
While this week might be a little Android heavy, it’ll balance out in a few weeks when we get to WWDC, where Apple might be announcing new Macbook Pros!
The first big news for Android developers from Google I/O is Kotlin's official promotion to a first class language on Android Studio. If you install Studio 3.o, Kotlin comes as part of the package.
You can try out Android Studio 3.0 straight away. Apart from that Kotlin support, the two other major features are a new suite of app performance profiling tools and increased Gradle build speeds for large projects. One new feature that developers will love is APK debugging without the need to build the APK in Studio.
Android O reaches it's second developer preview, along with a beta release for non-developers. Related to this is Android Go, which is an "experience" that is targetted at cheaper devices with 1GB or less of memory that optimizes the OS, Apps and the Play Store to all run better. Google's Building for Billions micro-site explains how you can architect your apps to run better on these budget phones, by starting with offline abilities and using translations to maximize your reach.
See the complete What's New in Android talk here.
There's also a really useful guide for Migrating Apps to Android O highlighting the key changes. The one that's most likely to get you is the less frequent background location updates.
Also announced was Project Treble, which allows new versions of Android to get to consumers faster, without having to wait for the device maker to catch up.
Make or Break With Gradle shows how you can add features such as lint, code analysis, code coverage and documentation generation to your build scripts to ensure a better level of quality in your code.
If you’re just starting out developing Android, this set of video tutorials, with full articles behind each video, will help you get off the ground really quickly.
Some projects to check out:
- aesthetic: A fast and easy to use plug-and-play dynamic theme engine, powered by Rx.
- aurora-imui: General IM UI components
- android-pile-layout: An abnormal horizontal ListView-like pile layout
- HiPermission: A simple and beautiful runtime permission library
And finally here’s a list of 30 New Android Libraries Released in Spring 2017 That Deserve Your Attention.
We all know that MVVM is the right way to go to avoid massive view controllers, but it can be difficult to get your head around it. Protocols and MVVM in Swift to Avoid Repetition is a great explanation of how to use ViewModels and Protocols to improve your code.
Pragmatic Swift is a new bimonthly publication about Swift. The first one covers app security, server side Swift with Vapor and SourceKitten. Interesting topics, and certainly worth a look.
Here’s a short tutorial on Searching for Objects by Type. It explains exactly why you would want to do so, and shows how to do this in a neat, efficient way using a combination of lazy and flatMap()
UIKit Global Functions looks at some of the obvious and obscure functions that you’ll find in UIKit to help cut corners.
Some projects to check out:
- SpreadsheetView: Fully configurable spreadsheet view user interface for iOS apps
- AppIcon: Generates *.appiconset contains each resolution image for iOS
- TLPhotoPicker: Pick multiple images and videos from albums
- RbSwift: Extensions for Swift with hundreds of handy methods
Re-Architecting Airbnb's Frontend discusses how the moved away from Rails and how they sped up the entire application flow using React.
You’d be surprised of the things that you might not know or take for granted. So it’s worth brushing up on The Basic Patterns of Mobile Navigation.
Here are some useful tips on How To Succeed on a Distributed Team.
Steven Levy has an excellent piece on Apple's new mothership.
Troy Hunt gives an excellent run down of Everything You Need to Know About the WannaCry/Wcry/WannaCrypt Ransomware that affected systems across the world last week. The moral of the story is to keep your systems updated and make sure to keep backups.