Week 81 Newsletter

iOS News

Code

ARC, Swift closures and weak self

In this article Kate Lanyon explains how closure capture list works. Specifically, how capture list is useful in avoiding strong reference cyclues in closure.

Key-Value Observing

Wei Wang writes about two concerns when KVO is used in Swift - first one is increase in dependency and other one is type and property of Swift is not implemented with KVC, so there is no way to apply KVO for it.

Testing Delegates in Swift with XCTest

This article describes how to write unit tests for types using delegates using XCTest.

Exploring Swift Dictionary's Implementation

Ever wondered how Swift Dicitonary works internally? If yes, this is the blog post for you.

Design

Motion with Meaning: Semantic Animation in Interface Design

This article describes that Animation is an important part of Interface Design. It makes our interface better to understand. If animation is technically well executed, makes interfaces less confusing. Animations are most useful when they reflect and reinforce the semantic relation between elements.

Apple Watch App Icon Concept

Benec Boger goes about designing a new icon for Apple Watch in this blog post. Follow step by step on his design thought process.

UI Animation. Microinteraction for Macroresult

A great post on Microinteraction in apps, specifically animations that you can use for microineractions.

Android News

Code

Fixing Memory Leaks in Android – OutOfMemoryError

Memory leaks baffling you? Rebecca has written a great post on all the ways you can detect and kill memory leaks.

Event buses, NSNotificationCenter and @channels

A great article on pros and cons of using Event buses. Bill takes the example of @channels functionality in Slack, talks about technical and social problems it brings and how we should go about implementing notifications in our apps. Nested events are powerful but with power comes responsibility!

Server polling and retrying failed operations. With Retrofit and RxJava.

Server polling is part of the RXjava.This blog explain implementation of Server polling with the help of zipWith() and flatMap().

How to make HTTP calls on Android with Retrofit 2

This blog shows how complicated vs how beneficial it is to make HTTP calls with Retrofit 2. He shows the reason behind type-safe HTTP clients is that you only need to worry about semantics of the queries, nothing else.

Design

Simplify Complex View Hierarchies

Hierarchy of views is the heart of any app. Aleks Haecky shows how to simplify that hierarchy. He explains GPU Rendering and recommends removing views that do not contribute to the final image.

Materialising the Domain Android App

See how team behind Australian real estate app Domain redesigned their Android app to incorporate material design.