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.
Welcome to this weeks issue of Swift Developments and a belated Happy Easter if you were celebrating! For me, it’s been nice to have a few days off with the family but things have been tempered a little by an unexpected HDD failure 😱 which meant a bunch of time restoring things from backups. On the plus side at least I had backups which have saved me so take my misfortune as a gentle reminder – make sure your backups are in order and you’ve tested them – you never know when disaster will strike! Have a great week this week, enjoy the links, and as ever, let me know what you think.
Nice to see TestFlight receiving some attention this week with what’s reported to be an increase in the testing period from 60 to 90 days, modifications to test groups to support the distribution of different builds to different groups of testers (making A/B testing possible for the first time) along with the ability to distribute multiple versions of the app to the same tester. Should make things a little easier going forwards.
Finding work can be a challenge if you’re just starting out on your freelancing career. In this article, @digitalleaves provides some useful advice on the do’s and don’ts of finding your next gig.
Android for iOS Developers – A Step by Step Guide, First Edition
This book helps iOS developers find their way in the world of Android development. Available in DRM-free PDF, HTML, EPUB, and Kindle formats, to read it on any device, without restrictions. Includes 46 Android Studio projects ready to build and execute – over 8000 lines of Java code in total – as well as a small introduction to Kotlin!
Consistency is a key principle in app design helping with usability of your application and allowing your users to transfer their knowledge and learn your app with the minimum of fuss. So how do we build consistency into our designs? @ainikolov provides some insight and guidance.
With the size of iOS screens trending upwards, app designers have a lot of things to consider when it comes to UI layout and the ergonomic factors involved. One aspect of this is the potential reach of a users thumb, something that the team at @cuberto investigate in this article.
One of the top priorities for the Swift core team right now is the compatibility of Swift across future versions. With this in mind the Swift team has this week published an ABI dashboard to partner the exsting Swift ABI Stability Manifesto, and will be used to track the various tasks and bugs that contribute toward this goal. If you’re interested in this topic, @soffes and @calebd discuss this and more on this weeks Runtime podcast and for me, make some good points about whether ABI stability should really be the current priority.
Dependency injection provides significant benefits for making dependencies explicit and for facilitating testing but as classes grow and the number of dependencies increases, things can get increasingly messy. @merowing_ provides a nice way to simplify this problem using protocol composition.
With almost all iOS apps containing some sort of networking capability, securing those communications should be a high priority in any app implementation. In this article, @NSDestr0yer looks at some of the techniques involved including ATS, certificate and public key pinning and data validation.
@allonsykraken breaks out the fairy outfit to talk all things SpriteKit boiling things down to three of the core topics you’ll need to understand – the game loop, collision detection and overall game architecture.
Unlike in Objective-C, in Swift, we have to write our mock objects manually. In this talk, @qcoding brings some of his testing wisdom to the problem looking at how to make our mock objects more powerful and in turn make our test code more expressive. Great talk.