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 another week of Swift Developments! It’s been a busy week for me, as I’ve been head down working on a new project with a pretty tight deadline but added to this, it’s also been a pretty big week when it comes to releases in the wider iOS development community. With that in mind, let’s dive straight into the links.
The big news this week is obviously the release of iOS 10. According to mobile analytics company @mixpanel, adoption rates are already up over 20%, outstripping the similar period for iOS 9. It’ll be interesting to see whether this adoption rate continues but these early rates look promising.
Swift 3.0 Released
In addition to the release of iOS 10, this week also saw the official release of Swift 3.0. @tkremenek provides a rundown on the Swift.org blog of all the proposals that were incorporated. It’s actually a much longer list than I remember. I you haven’t already updated to Swift 3, now is probably the time to start thinking about it.
Architecture Wars – A New Hope
Although the Apple pushes Model-View-Controller as the app-development architecture of choice, there are actually a range of architectural alternatives that you can choose from. @swiftingio provides a good run-down.
Since it’s introduction, JSON parsing in Swift seems to have been a bit of a pet topic for the Swift community with a number of libraries springing up to help. With recent versions of Swift though it’s been almost as easy to roll your own solution and this week, saw Apple weigh into this topic, with examples of their own.
Networking plays a major part in almost all iOS apps. In this article, @hoang_tran90 shows us how to not only design and build a network-based app but also how to structure it in such a way that we can easily unit test it.
The open-sourcing of Swift opened up a whole new world of opportunities including the option of using Swift on the server-side. Vapour is one of the most popular server-side Swift frameworks and in this article, @SahandEdrisian provides a nice introduction on how to get started.
Bug reports. They’re a critical part of improving our apps, whether it be submitting radars to Apple or reporting issues in your own internal bug-tracking tools. Writing great bug reports however is a skill, and one that many of us could improve. In this article @steipete imparts some of the lessons he’s learnt from submitting over 100 radars to Apple.
GitHub provides the core project infrastructure for many iOS development projects. This week, saw the announcement of many new changes including upgrade code review features, improved commenting and a range of other project management features that will help you with the management and delivery of your projects. It’s worth having a look to see just what is available.
Storyboards are a great way to build the UI for your application but when it comes to passing information around they fall a little short. Perform by @sharplet helps solve this problem by adding dependency injection to storyboards and segues.
If you’ve not yet had a chance to play with the new features of iOS 10, this project from @shu223 is a great place to start. Providing sample code for many of new iOS APIs including Core Data, UIPropertyAnimator, speech recognition and more. It’s a useful reference.
If UIAlertController is getting you down, PMAlertController by @codeido might be the alternative that you’re looking for. It’s is a small library that allows you to substitute Apple’s un-customisable UIAlertController with a fully customisable alternative.
I’ve been holding off including these for a while until the full series was available. If you’re yet to move to Swift 3.0, or want to get up to speed on all the new changes, this three-part series (Part 1, Part 2, Part 3) from @dimsumthinking is a great introduction.
I’m a big fan of continuous delivery as it not only provides a safety net for your code base but simultaneously reduces the friction for delivering your app to the app store. Although historically setting up these tools have been a little tricky, continuous integration and delivery tools have been improving rapidly in the last few years and in this talk, @ashtom provides a rundown of the different free and commercial alternatives along with examples of how to stitch them together.
You’ve probably been there. You’re concentrating hard. You’re elbow deep in the code and you’re in the zone cranking out your carefully crafted masterpiece….and then life interrupts you. That master plan, the micro-steps you have laid out in your head, simply disappear in a proverbial puff of smoke. It’s a similar story revisiting your own code after a number of months away from it. In this article, @ericasadun provides some great tips for how current you can make things easier for future you. Definitely resonated with me.