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.
Vanity metrics are all well and good but they don’t help when it comes to putting money on the table. The team at @Appseecom have put together a nice list and description of the key performance indicators you should be paying attention to if you want to increase user growth and app revenues.
Purposeful Design for User Permission
It is not uncommon to want to ask for a user permission to perform some action within your app such as for geolocation or for notifications. In this article from @viviancromwell, we follow her and her team through a number of design iterations as they evolve their app and explore better ways of asking for user permission. It’s interesting to see how the design evolved.
When it comes to usability testing, there is a common phrase: ‘Get out of the building’. It essentially means get out there and test your app designs with real users before coding away for weeks on end. However, is testing your app designs yourself really that bad? In this article, @anotheruxguy looks at the pluses and minuses.
Since the highly influential Krusty talk at WWDC 2015, Protocol-Oriented Programming has been heavily embraced by the Swift community. However, as @chriseidhof points out, just like many things in life, everything should be used in moderation.
One of the more powerful aspects of enumerations in Swift is the ability to back enumeration values with a raw value. In this article, @olebegemann digs into the detail and examines how these raw values are associated with their respective enumeration cases. It’s an interesting look at how Swift works under the hood.
One of the new changes in Swift 3 is the fact that closure parameters are now non-escaping by default and thus the @noescape decorator is now deprecated. However, this doesn’t remove the need to think about whether parameters will escape the lifetime of the closure. @JordanMorgan10 provides a useful rundown.
With the recent termination of Apple’s iAd network Google’s AdMob is one of the most popular ad-network alternatives if you choose to use advertising as a monetisation model for your app. In this article, @simonng provides a nice tutorial on how to get started.
Along with a host of other goodies, one of the interesting new features in iOS 10 was the arrival of the new UIViewPropertyAnimator class which provides much greater control over view animation in iOS 10. @bitwaker takes the new class for a spin.
Last week saw the U.S. celebrating Thanks Giving (I hope you had a happy Thanks Giving if you were celebrating!). In the spirit of the occasion, the team at @realm have compiled a useful list of tools and libraries that some of the developers from around the community are most thankful for.
A great little command line utility from @johnsundell that will set your new Xcode project off on the right foot by allowing you to generate a new cross-platfrom Framework project supporting all the Apple platforms, CocoaPods, Carthage and the Swift Package Manager.
SwiftGen hit v4.0.0 this week and I’m actually really surprised I hadn’t included it in Swift Developments before now. If you haven’t come across SwiftGen before it’s a super useful suite of tools from @aligatr that helps combat typos in your stringly-typed APIs by allowing you to auto-generate enumerations for things like colors, fonts, storyboards or even images thus helping easily track down those typo related bugs. Worth checking out.
KeyFrames is a great new library from the team at @fbOpenSource that takes Adobe After Effects animations and renders them as high-quality, vector-based animations for your iOS or Android projects. It looks highly promising. Facebook’s Mark Peng has a nice introductory post that provides additional detail.
With Swift now available on a range of other non-Apple platforms, many developers are now looking for how to test their Swift code on these new platforms. In this talk, @kylefuller explores this new world by first looking at how test frameworks work including some examples from other languages and communities and then talks about how we can use test frameworks outside of Xcode and the Apple ecosystem.
As a language, Swift has incorporated ideas from a number of different programming paradigms including functional programming. In this talk, @cocoaphony explores the more functional aspects of Swift and looks at how to make these functional paradigms play nicely with other approaches such as protocol-oriented and object-oriented programming.
Starting an open source project? Struggling to attract contributors? @ScribblingOn has some great tips on attracting new contributors to your project as well as how to make everyone feel welcome.
It has never been a more important time to be conscious of online security and privacy. This week I came across this great macOS guide that I found particularly useful.