/curated-ios

Curated iOS Resources

MIT LicenseMIT

Curated iOS Resources

This document features curated links to interesting talks and documentation for easy referencing. The links have been vetted by me for quality and usefulness. 💎

Architecture

MVVM-C

Introduces Coordinator Layer to abstract presentation logic out of ViewControllers into Coordinator objects. This improves separation of concerns.

Talks about Redux in Swift and global app state that can be mutated through actions much like a state machine.

Frameworks

Core Data

Lots of code examples how to improve the Core Data API by wrapping it into modern Swift.

He talks about how to decide which architectural approach to use as there are multiple ways to approach this topic with various pros and cons.

Stop using callback closures and start using Futures. It does go well with Reactive Programming.

Swift

Protocol-Extensions

Functional Programming

Makes understanding those concepts so much easier.

Great writeup of functional alternatives to runtime dynamism. Also see the lift operator; really handy.

Generics in practice

Make Table View Controllers generic and pull out a configuration struct to simplify the controller's initializer

Misc

How to tackle retain cycles in Swift

Building custom collections around huge sets of data that are fast to map, filter, reduce by deferring those operations until they are needed

Improving the internationalization process by declaring a custom WFLocalizedString method and scripting a string file generator in Swift

How animations can drastically improve the user experience and hands-on example how to prototype those in a playground with the facebook/pop library

Shows a wide variety of good Swift patterns. The biggest take-away is don't get too clever with your code. There's a chance other developers might stumble over it.

Good writeup about properly do JSON parsing with validation by hand and why using convenient reflection based JSON parsers might not always be the best choice.

Advocates to use value types over reference types. In essence this describes 'Functional Core, Imparative Shell'.

Testing

Overview of different testing strategies. Be sure to check out the open-sourced Artsy apps and see their approaches.

License

MIT (See LICENSE file) I don't know if this is even necessary but it surely doesn't hurt, does it? :squirrel: