Chris looks at how we can take standard networking code, and use Swift's features to make it generic and simple. While live-coding, he factors out common parts into a struct, so that the resulting code is easy to test and highly reusable.

Chris' comments:

I try to make the the case for creating a simple wrapper around networking code. Rather than having a lot of asynchronous code (which is hard to test), I try to minimize the asynchronous part and instead use generics and structs to make it simpler and more testable.

I took this code from an existing app we wrote in production, and wrote a blog post about it in 2014: http://chris.eidhof.nl/posts/tiny-networking-in-swift.html. In my recent book Advanced Swift, we go into more detail explaining these techniques. Over the last years, a number of companies have used a variant of this library in production, and are quite happy with it.

After watching the talk, you'll see that there are a number of things that can be improved: how to parse other things than JSON? How can you make it asynchronous? How can you handle POST requests? I hope that you take these challenges, and see if you can add these features. It'll be lots of fun!


About the speaker

Chris Eidhof
Chris Eidhof
Creator of Deckset & Scenery, Co-author of Advanced Swift

About the conference

dotSwift 2016
The first Swift conference worldwide

Liked this talk? Share it!

Comments

comments powered by Disqus