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.
It’s been a great week for me. A public holiday here in the UK, means it’s been a 4-day week which has given me time to watch some of the great new videos from the likes of UIKonf and iOSCon 2016 and has given me some time to write a couple of new articles for the site which I’ll hopefully get finished and posted relatively soon. In the mean time I’ve got another great collection of articles and links for you this week so let’s dive in!
So, the dynamic swift conversation has been sweeping through the community this week and @mjtsai has been doing a great job summarising. From my perspective it’s been interesting to read the different view points and honestly, I think I’m still on the fence about whether dynamic features should be added or not. What I do think is important though, is that these types of conversation continue to be discussed out in the open. For me, that is the most important thing above all others and with that combined with the considered leadership of the Swift core team, (who I think have been doing a great job), I believe it can only be a good thing for the future direction of Swift.
Google I/O was a couple of weeks ago now but one of the headline features was Instant Apps. Although there don’t seem to be that much detail on the implementation side of things just yet, the demo use case is particular compelling and in this article, @arekholko takes a look at what might be needed to add a similar sort of feature on iOS.
We’ve all been there, the excitement at the start of a new project where our hopes and wishes for the project are still untainted. But as the days and weeks draw on, things don’t seem to go our way and we slowly become disenchanted. In this article, @cpytel provides us with different perspective along with some great tips for giving our projects the best chance of success.
As I’ve discussed before, I don’t follow the Swift Evolution mailing lists that closely due to having limited time and the sheer volume of traffic on the email lists. One person who does though is @ericasadun and in this article she provides a great perspective on the Swift Evolution process.
In this article, @jesse_squires gives an interesting perspective on the benefits of open sourcing your project as well as the importance of getting your project infrastructure set up early.
As @101babich states:
“Progressive disclosure is a strategy for managing information complexity. When you use progressive disclosure, you show only the information necessary at that point of the interaction.”
In this article, Nick explains why progressive disclosure is important, why we should think about and also provides some common examples of where we can apply it in our apps.
As well as being the obvious look and feel and how your app works, there are a number of other, more subtle, aspects to app design that affect how users experience our apps. In this article @tristanharris pulls back the curtain and looks at some of the more common psychological tricks and how they can be used to hijack our users thoughts. Use them with care.
I don’t know. Maybe I’m weird but there is just something about refactoring gnarly code into code that is more elegant and maintainable. In this article, @davideme does just that – and with some of Apple’s example code no less.
Mocking Dependencies with Generics
In this article, @elmkretzer takes a look at how we can use generics in parallel to dependency injection to make unit testing a little easier. It’s an interesting idea.
Is all your asynchronous coding getting you down? Bolts promises to help. Originally designed by Parse and Facebook for their own internal use, Bolts provides a complete implementation of promises / futures for any platform that supports Swift.
Using the power and type safety of Swift, SnapKit is a simple and expressive domain specific language for working with AutoLayout constraints directly from code.
If you’ve been writing code for any length of time, you’ll know that concurrency is hard. In this talk, @iwantmyrealname gives a great introduction to adding concurrency to your applications in iOS.
Swift is still an extremely new language but as we move towards Swift 3.0, @dimsumthinking looks at where Swift came from and what’s coming in Swift 3.0. It’s another great talk and definitely worth watching.