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.
Putting aside the obvious excitement of the iPhone X launch, it’s also been an exciting week for the Swift Developments newsletter itself in that it has been nomimated for award! If you’ve not come across them yet, the Swift Community Awards is a fun project that’s been setup by @twostraws to highlight the developers, podcasters, conferences, tools and newsletters (amongst other things) that collective make the Swift community such a vibrant place. Voting’s open until 13th November and if you’d like to show your support for Swift Developments then head on over to the voting page and cast your ballot!
Designing for the limited screen size of mobile devices has always been a challenge and as the demand for content continues to grow, app designers continue to search ways of presenting an increasing amount of content on these limited screens. On solution for this is the use of horizontally scrolling interfaces. @winta_ljing looks at some of the design considerations this design pattern introduces.
Securing a users data has always been an important part of implementing any app. On iOS and Mac there are a range of solutions available for this but when it comes to securing file-based data Foundations data protection APIs might be just what you’re looking for. If you’ve never looked at them before, @qdoug has a nice rundown of what’s available.
Data Detection in Swift
Not to be confused with the article of a similar name above, @atomicbird takes a look at some of the downsides of the traditional (and at least for me semantically challenging) regular expression and explores a more, let’s say comprehesible, alternative that can be super useful when attempting to match dates, addresses, links, phone numbers and transit information.
The Worst Possible Application
@cocoawithlove throws design best practices out of the window and deliberately tries to write the worst possible application he can in an attempt to answer the question – What direct effect does an application design pattern have on your code?
With the arrival of the the new app store, card-based interfaces continue to see a surge in popularity as an increasing number of apps update their interfaces for the new devices and start taking their design cues from the new app store. In this article @phillfarrugia attempts to build a swipeable card-based interface of his own in a similar vein to that of the Tinder app. The results are great.
In pretty much every development team I’ve worked in, code reviews have formed a key part in the overally development process and when used correctly *can* provide a lot of benefit. However, there’s alot of things that come into play when reviewing someone elses code and without some care and attention code reviews can become a hinderance rather than a help. @yowainwright provides some useful tips to keep in mind when conducting code reviews of your own.
This is a case of ‘it does what it says on the tin’. Difference is new a micro library from @merowing_ that lets you easily identify the differences between two instances. Particularly useful for those XCTest assertions.
Longing for some Swifty goodness in your interactions with the UIKit and Foundation classes? Closures from @vhesener is an iOS framework that adds closure handlers to many of the popular UIKit and Foundation classes. As Vinnie points out, it’s not a substitute for the traditional UIKit design patterns such as delegation and target-action but does make your code a little nicer.
Refactor Your Way Forward
@jdortiz with some practical advice and useful tactics for gradually improving the quality and architecture of your app through a series of controlled refactorings. The example Jorge uses involves transforming an Objective-C application into Swift but the information is equally applicable to pure Swift applications as well.
In this talk from StrangeLoop 2017, @RedQueenCoder provides a gentle introduction to general purpose GPU programming using Metal including a look at what it is and why you should care about it. It’s a great talk with the added bonus that you don’t have to be a graphics programming expert to get a lot out of it.