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.
News
Sketch 43 is Coming To Town With a New Game – An Open File Format!
Some great news this week with the announcement that version 43 of my favourite UI design tool @sketchapp is going to be released with a new, open, JSON-based, file format. On the face of it, this might not seem like much, but it opens up whole new range of possibilities for creating third-party tools to generate and manipulating your Sketch designs. It’s a great move by the team at @bohemiancoding and I’m going to be really interested to see what people build.
medium.com
Career
How to Prepare for an iOS Interview
Whether you’re an indie developer supplementing your in come, a freelancer or a full-time employee looking for a new role, interviewing for new iOS development positions is a fact of life. In this article, @waynewbishop provides some great advice on how to prepare for that all important interview and how you can maximise your chances of landing the job.
waynewbishop.com
Design
Bringing Mobile Apps to Life Through Motion
Gone are the days where UI design is simply about the positions of your views and buttons on the screen. Nowadays animation plays just as important a part and provides designers and developers with untold opportunities for making their designs stand out. @101babich looks at some best practices when it comes to adding animation to your designs and how to use it to enhance the UX or your apps.
uxplanet.org
UI Animation: Please Use Responsibly
To contrast the article from Nick above, I thought we’d also go for a bit of balance this week. Despite the growing importance of animation in UI design, we can always have too much of a good thing. In this article, @msNaema provides some useful tips on walking that line between animations that enhance the experience and animations that are just annoying.
Code
Detecting the First Launch of the iOS Application — The Wrong and the Right Way
Detecting the first launch of an app is an important task for many apps and the obvious solution is to use UserDefaults
. However, doing so blindly can introduce a number of issues when it comes to testing. @olegdreyman takes a look at the problem and outlines some alternative approaches.
medium.com
Life Without Interface Builder
For many the use of Interface Builder is a divisive subject. It’s Apple’s recommended route for developing interfaces for your applications but many people hate it for the complexity it introduces – especially when working in larger teams. In this article @ygtyurtsever outlines some of the reasons why he and his team at Zeplin decided to head toward the code-only route.
zeplin.io
Tools
Automatically Incrementing Build Numbers
Although Xcode support the ability to specify the current build number for a particular Xcode project, for some reason it doesn’t support auto-incrementing it every time you build your project which in turn sometimes leads to mistakes when uploading to the app store. @nlanzaio provides some useful shell scripts that uses Xcode’s built-in tools to ensure you never make this mistake again.
lanza.io
Improving Swift Compile Times
The Swift language is great. Due to the increased emphasis on compile-time checks when compared to the Objective-C compiler, we can write safer, cleaner and more expressive code. However, these compile time checks come at a price and that’s compile time. @johnsundell has been investigating this issue and has a few tips for reducing the compile time of your own Swift projects.
medium.com
Libraries
Spruce-iOS
Spruce is a lightweight animation library from @willowtreeapps that helps choreograph complex, multi-view, animations.
github.com
ReverseExtension
UITableViews are a staple in many UI designs but have you ever wanted to add new items at the bottom of the table rather than that top? If you have, ReverseExtension from @marty_suzuki is exactly what you’re looking for.
github.com
Plank
Plank is an immutable model generator from the team at @PinterestEng Written in Swift Plank can be used to generate immutable Objective-C models for your iOS projects.
medium.com
Swift
Swift Archival & Serialization API Proposal
Although we still have the option of using the Foundation frameworks serialization APIs, this week has seen a new Swift Evolution proposal from @itaiferber around the inclusion of a type-safe solution for serializing external data formats into the Swift language itself. The proposal is still in early days but has a lot going for it and could remove the need for external JSON parsing libraries in future. It’s worth a read if your interested in where things may go in the future.
github.com
Videos
How to Rescue a Codebase
Great talk by @sandofsky on dealing with legacy code bases, the risks of rewrites as well tips on how to gradually improve things over time.
skilled.io
Break the Monolith with (B)Viper Modules
As the capabilities of our applications increase, the importance of good architecture becomes increasingly important. In this talk, @nzaghini walks through VIPER, one of the more structured architectural approaches, describing it’s various components and some of the benefits it can bring to your application designs.
realm.io