2017 best resources for advance iOS developers

Always stop and listen to others’ ideas

Here are resources I read and think its worth reading in 2017. There are a lot interesting tricks and ideas that I’ve never thought of. I think best developers can take the good part from the others and make it even better!

Topics covered: CI, CD, Fastlane, swift extensions, animations, tricks, other interesting topics, testing, GCD, concurrency, architecture, MVVM, VIPER, AI, ML, automation. Articles below had been simply organized, hope you can find the topic you want easier.

Architecture & Design Patterns

Uber 100 engineers rewrite Uber app in 1 year using Swift.
How Uber mobile team deal with problem when they encounter problems such as long build time, cross platform feature communication, architecture used on both platform, etc.

Here is uber’s special viper architecture called Riblets.

If you’re interesting in learning new architecture like VIPER, here’s a great talk about how to implement VIPER architecture. Highly recommend it!

b-viper’s repo:

Uncle Bob’s clean architecture.

As always, we will have this plain old article when talking about iOS architectures.

Bring the core thoughts from Redux, here comes ELM

We have Redux like thoughts, implementations, tools here.

There is more and more architecture showing up nowadays. However, have the ability to choose the right architecture at the right time and have the ability to handle it is very important.

4V Engine.

Clean architecture.

Factory pattern

Thoughts about iOS architecture.

Reflection of MVVM


Essential concept and skill to understand Rx. (highly recommended)

MVVM is a popular option in iOS architecture. ViewModel can grow big if don’t treat it properly. Using RxSwift with MVVM can make your code even better :) (highly recommended)

About Swift 4

How do you constraint generic type in swift 4, and what’s improved.

JSON → Enum

Just incase you missed it.

Codable are not just for codable json.

Tricks & Thoughts

All kinds of good swift extensions (in Japanese)

When dealing with universal links (in Chinese)

Reflectable enums in Swift 3 using Mirror in swift. Interesting enum trick

If you are finding a way to navigate from view to view in your app, why not try Coordinator? Coordinator and MVVM becomes great when they met!

No More Typos: Foolproof Notifications in Swift by Michael Helmbrecht

Great thought on structuring Swift UI code.

Writing better singletons in Swift by Jesse Squires. Share about thoughts on doing singletons, dos and don’ts, pros and cons.

Need to know more about GCD and concurrency?

When to improve code readability and avoid making code too complex when doing too much improvements.

Method dispatch, performance of swift code.

Understanding type erasure. (recommended)

Using enum to define meaningful states. (highly recommended)

Zomble’s chinese version of refactoring your code using enum

Ways to reduce the size of your massive controller.


Not about iOS, but I think its worth watching.

Ways that will help your tableview look better. (recommended)

How you can improve array. (highly recommended)


AI in iOS

Functional programming


BuddyBuild! Ship your app like magic. (Now acquired by Apple)


Swift is a fun and fast changing language. Interesting ideas are showing up all the time. I feel great to have all swift developers from the world, dedicating to make swift a better language! If I got something wrong in the article, plz leave a comment. Or you got thing great to share, you’re welcome too :)

Hope there is much more interesting things coming in 2018, Happy new year :)

Like what you read? Give David Lin a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.