- Saving time in Sketch
- The Right Way to Ask for User Permissions
- A Different Take on MVVM
- Refactoring to: Parameter Objects
- NSNotificationCenter Protocol
- Platform Configurations: Now and Future
- Undo History in Swift
- Parse Server – 100 Days Later
- Practical Testing Tips
- Turning UIKit Inside Out
- Please Don’t Quit — Every Expert Was Once a Beginner
As I think I’ve mentioned before, Sketch by Bohemian Coding is my goto tool for interface design and initial app mockups (it’s also the same tool I use to draw all my article images) and now that I’ve been using it a while I’d class myself as somewhat proficient. With that said, there is always room for improvement and in this article, @dearlorenz gives us some great tips on how to speed up our workflows.
Asking for user permission is always a tricky business and it can have a major affect on user retention. @101babich gives us another great article, this time looking at not only when to ask users for permission but also how to do so whilst providing a seemless user experience.
So it’s been a few weeks but I managed to post another article this week in our continuing journey through the Swift programming language. This weeks topic – Enumerations in Swift. I’d love to hear your thoughts.
In this article, @natashatherobot takes onboard some of the lessons from @modocache ‘s UIKonf 2015 talk on Swift Patterns in iOS API Design and looks at how to design and refactor APIs to minimise the impact of code changes. It’s an interesting idea.
NSNotificationCenter is one of the most obvious uses of the Observer Pattern in the UIKit framework. Although it is a great design pattern and is used extensively by Apple, it does have it’s disadvantages though. In this article @AndyyHope applies some Swift goodness to see if he can overcome some of NSNotificationCenters shortcomings.
With the ability to now run Swift code on a variety of different platforms, the need to determine the platform the code is executing on is increasingly important. The good news, is that Swift has this ability built in, and in this article @ericasadun gives us a run-down of just what is possible.
In last weeks newsletter I mentioned the discussions going on in the community with regards to ‘dynamic’ Swift. One often cited example people have been using to justify the need for such dynamism is NSUndoManager and it’s use of reflection. In this article @chriseidhof illustrates that the need for reflection isn’t necessarily an open and shut case, and gives us a lesson on how to think differently by eschewing reflection and implementing a generic undo history using only Swift structs.
Around 100 days ago, Parse.com announced that it would be shutting down on 28th January 2017 and at the same time, an open sourced Parse Server was born. In this article, @swiftingio takes a look at the ecosystem that has sprung up around this new open-source project and also surveys the variety of options that are now available. If you are one of those who was affected by the announcement, time’s-a-tickin’ but at least now you have a range of options to choose from.
Tween-Controller is a Swift toolkit by @daltonclaybrook that allows easy development of interactive menus and tutorials by interpolating between Tweenable attributes. Looks good.
I’m still catching up with all the videos from iOSCon last week, but one I have already watched is this one from @designatednerd . In it, she provides some practical tips on how to test your iOS apps including testing your networking stack, how to test your core data stack as well as covering some of the basics of UI testing. It’s a great talk and one worth watching.
As I mentioned at the start, I have a suspicion that WWDC might bring some changes to the UIKit APIs but I suspect that the more invasive changes needed to bring greater alignment between UIKit’s architecture and the declarative approach preferred by Swift will be much further in the future. In the mean time that leaves developers wrestling with the differences between these two paradigms. In this video, @benjaminencz introduces the idea of a declarative view layer that may help.
App development and software development in general are by their very nature moving beasts. We are always trying to build something new and tackle something different and although I suspect that this article from @WebDev_Cave was originally targeted at people who are just learning to code I think it’s got a lot of points that are that are applicable to all of us.