Delightful persistence on Android

SQLDelight by square is an Android library that generates Java models from your SQL CREATE TABLE statements (and lots more). This is a full example from initial configuration to final code. Good read.
http://blog.alexsimo.com/delightful-persistence-android/

Advertisements

The GCD Handbook

Although most people are familiar with dispatch_async GCD provides much more than that. The API isn’t easy to understand so this post will help you figure out how and when to use it. Includes lots of interesting code samples like implementing a multiple-readers-single-writer Map.
http://khanlou.com/2016/04/the-GCD-handbook/

WHAT DOES A SENIOR DEVELOPER DO?

The subject is debatable and different people have different opinions on “what does a senior develop do”. I agree with most of the statements in this post, especially “humble and respectful, honest and transparent,”.

What does a senior developer do?

Instant Run: How Does it Work?!

With the official release of Android Studio 2.+ Instant Run is automatically enabled once the gradle plugin is upgraded. Learning how it works is necessary to avoid unexpected behavior. For example, in some scenarios the stack-trace for a changed method will change after a hot-swap which may cause some confusion when debugging.

https://medium.com/google-developers/instant-run-how-does-it-work-294a1633367f

Good Test, Bad Test

Although this post started from a Python talk I think that all the principles and “Myths” apply to all languages and environments. If you don’t have enough time make sure you read the “Myths”, it’s a must.
https://late.am/post/2015/04/20/good-test-bad-test.html

L is for the Liskov Substitution Principle

The 3rd article in a series on SOLID principles and how they apply to Android/Java development. The 3rd principle states that “if S is a subtype of T, then objects of type T may be replaced with objects of type S without altering any of the desirable properties of that program”. The post includes code samples too.
https://realm.io/news/donn-felker-solid-part-3/

Pushing the Limits of App Startup Time

An interesting post on how to optimize an Android App startup time. It demonstrates a few techniques like caching data in multiple layers and improving JSON parsing code (avoid reflection!). A Github repo is included to demo all the libraries and wiring needed.
http://blog.nimbledroid.com/2016/04/20/pushing-limits-of-app-startup-time.html

iOS Push Notification Background Download Demystified

A common pattern for iOS apps is to download (while in the background) some data in response to a push notification. Unfortunately the flow in the code isn’t straight forward and changes based on the state of the App. This post clarifies the different scenarios and suggests a solution.
View story at Medium.com

Xcode Search: the Hidden Gems

If you are using Xcode you probably use cmd+shit+f all the time to find text in files. Apparently there a lot of hidden options in the search tool that can help you search for patterns, search in different scopes, search for definitions and also search and see call hierarchy. Tips.
http://holko.pl/2016/04/26/xcode-search/

Running UI Tests on iOS With Ludicrous Speed

The PSPDFKit team shares there strategy and experience writing tests for iOS. They use KIF (custom fork), they don’t use XCUI (yet?) and they have a trick for improving the speed of UI tests. Nice post.
https://pspdfkit.com/blog/2016/running-ui-tests-with-ludicrous-speed/