Welcome Swift Developments Issue 130 and congratulations if you were lucky enough to win a ticket in the WWDC lottery this week and commiserations if you tried but weren’t so lucky. Before we dive into the links this week I just wanted to mention that there isn’t going to be an issue for the next couple of weeks as I’m taking a couple of weeks off over the Easter period. As a result, the next issue of Swift Developments should make it’s way to your inbox on April 17th. In the meantime, enjoy this week’s links, have a great couple of weeks and if you do come across any interesting links in the intervening period, make sure you send them my way! I’ll see you in a couple of weeks time.
The Core ML universe expanded a litte more this week with Apple announcing the availability of Watson Services for Core ML, an expansion to Core ML that lets developers take advantage of IBM Watson services and Watson machine learning models from within Core ML enabled apps. Bit by bit Apple seem to be reducing the entry barrier for training and integrating machine learning models into apps. It’s good to see.
Technical debt is something we’ve all struggled with especially when combined with the natural atrophication that code suffers over time. But is technical debt always a bad thing? Not necessarily. As @FagnerBrack, explains, not necessarily, sometimes it can be both useful and necessary.
Promises have become an increasingly popular pattern for handling asynchronous code in recent years helping to reduce the complexity of asynchronous nested callbacks. In this article, @olbrich_jan takes a look, explaining the basic idea and showing you how to use them in practice using the open-source PromiseKit framework.
Although setting up your own CI system has become significantly easier in recent years, it’s not always plain sailing especially when it comes to iOS projects. However, with a combination of GitLab-CI, Fastlane and SwiftLint, you can set up a robust CI system of your very own with relatively little effort. @vpeschenkov shows you how.
If you’re looking for a way to inspect the details of your running iOS application and haven’t come across Peek yet, you’ll want to take a look. Written by @shaps80, Peek reached version 5.0 this week and includes a bunch of new features along with a fancy new design. Looks great!
Lots of people use the terms “mock” and “stub” interchangeably and there’s a good deal of confusion around them. So what are they? How are they different? And how do you use them to test your code? jtbrown explains all.
Since @daveabraham‘s widely acclaimed Krusty talk at WWDC 2015, Protocol Oriented Programming has become increasingly popular within the Swift community. In this article, @iosbrain dives into protocol oriented programming, why you would want to use it and provides some practical advice for using protocol oriented programming in your own code.
On the latest episode of the Swift Unwrapped podcast, @simjp and @jesse_squires talk to @dgregor79 and @airspeedswift about Swift 4.1 and it’s upcoming changes including generics, conditional conformance, code size optimization and more.
An impressive job from the iOSCon team, in that just a few days after the close of the conference the full range of videos for this years iOSCon are already available. Some interesting talks in here including a very intersting keynote talk from @mfeathers.
In this talk from try! Swift Tokyo 2018, merowing_ discusses the importance of the developer experience and discusses some of the ways that you can improve that experience through improved tooling, improved processes and improved design.