Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
When people submit bug reports for your code or app, it can seem like a bit of a chore, after all, it’s something else you need to fix. Look a little closer though and bug reports can be one of the most valuable ways of improving your apps. In this article, @mattie explains his mindset when when it comes to bug reports and provides some great tips on how to handle them.
When it comes to UI design, one of the key themes promoted by Apple’s Human Interface Guidelines is consistency but have you ever stopped to think why? In this article, @pabini discusses the importance of consistency in user interfaces and looks at the impact this can have on your users’ ability to use and interact with your apps.
You might not have heard of the term “Optimistic UI”. It’s a pretty fancy name for a pretty simple concept but a concept that can have a huge impact on the happiness of your users. @mandrigin explains all.
You may have though that things had settled down since the release of Swift 3 but behind the scenes the Swift Evolution juggernaut has continued to trundle forwards. This week saw @tkremenek posting some early details of the goals, release process and estimated schedule for Swift 3.1 which are worth reading if you’re interested in seeing what’s coming over the horizon.
You’ve probably seen it yourself. You print an optional value in the UI or attempt to log it to the console but the result is either an unsightly “Optional(…)” or even worse “nil”. In this article, @olebegemann provides a potential solution for this problem.
The result of a collaboration between the teams at Facebook and Pinterest in support of Facebook’s Paper app, AsyncDisplayKit is a UI Framework designed to keep your user interfaces smooth and responsive. This extremely popular framework hit version 2.0 this week and in honour of this event, @lukeparham has put together a tutorial to help get you started.
Method dispatch is the mechanism that programs use to select which instructions are executed when a method is invoked. @KingOfBrian takes a deep dive on the subject and looks at the three different types of method dispatch used in Swift. Great article.
Although closures and trailing closures are undoubtedly one of the more elegant aspects of the Swift language, if you’ve used them for any length of time you’ll no doubt have seen how this elegance breaks down with functions with multiple closure parameters. Fed up with this situation, this article sees @AndyyHope drawing on some of his functional programming knowledge to try and address this situation by applying a little syntactic sugar to this ugliness.
As a software craftsman, having a mastery of your tools can make you a more efficient and productive developer. In the case of macOS, iOS, tvOS and watchOS developers this generally means having some sort familiarity with Xcode’s hundreds of shortcut keys. To help with this, @bobleesj has put together a comprehensive three-part series (Part 1, Part 2, Part 3) covering a significant number of the shortcuts available in Xcode along with an animated GIF of what each of them does.
If you’re like me, you’ll always be creating new Xcode Playground files to try out little pieces of Swift code. However, it can be a bit of a pain having to fire up Xcode, create a new playground, choose where to save it. This is where PlayAlways comes in. PlayAlways is a menubar app from @_inside that lets you quickly create iOS, macOS and tvOS playgrounds direct from the menu bar short cutting much of that tedious creation cycle. Useful little tool.
Intelligence in Mobile Applications
In recent years, machine learning has become much more prevalent with excitement gradually growing about things like Siri, Google Assistant, Microsoft Cortana and Amazon Alexa to name a few. But what if you want to build some of these machine learning capabilities into your own apps? Sadman Samee provides a rundown of the most popular machine learning libraries, APIs and services currently available.
One of the great features of Swift is the ability to extend Swift’s native types with additional features. This library from @omaralbeik makes use of this fact, providing over 365 native Swift 3 extensions to enhance your productivity and make coding a little more… what’s the word… swift? ?.
It’s all very well having these high-level languages such as Swift but ultimately all programs and apps, regardless of the language, boil down to bits and bytes interpreted by a CPU. In this talk from Goto Copenhagen 2016, @mikeash looks at the basics of computer memory before moving on to look at how Swift stores things under the hood. It’s a great talk.
If you’ve got a bit of free time on your hands over the next few weeks, it might be worth putting these videos from #Pragma Conference 2016 on your viewing list. There’s some great talks in here.