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.
With millions of apps available on the app store, optimisation of your app listing within the store has never been more important. @stevepyoung has 7 strategies that you can use to improve your apps visibility.
With bills and ongoing overheads to to pay, getting paid consistently, and on time, is a critical aspect of running any successful business. This is no different when running an app development business. In this article, @apike discusses setting the ground rules with clients to ensure you get paid on time.
Nowadays, almost all iOS apps rely on some sort of client-server interaction. However, without careful design, this networking logic can pollute the rest of your application and quickly leads to spaghetti code that is a pain to maintain. Alexander Gaidukov discusses a clean architectural approach that can save you from this mess.
The Ramp Down to Real
You have an idea for your app but making the transition from abstract to concreted and deciding which features you do and don’t include can be a tricky task. In this article, @rjs provides some tips for making the transition.
Memory leaks, whatever there form, are never a good thing for your app. Having a good understanding of iOS memory management, especially when it comes to closures, is extremely important if you are going to avoid these little gremlins. Marcus Smith from @stablekernel explains.
Where last year seemed to be the year of protocol-oriented programming in the iOS community, this year seems to have been the year of reactive programming. If you’re wondering what all the clamour, is about @thomvis has nice introductory article to get you started.
There are a lot of gems hidden away within the GameKit framework, one of which is it’s artificial intelligence capabilities in the form of the GKStrategist class. In this tutorial, @naturaln0va makes use of these features to implement a AI-driven tic-tac-toe game. Great tutorial but you’d best check out this film first though. Just in case. ?
Xcode has been crying out for decent Swift refactoring tools for a long time. Xcode Extensions made a little improvement in this area but are still along way from the fully integrated tooling that most developers desire. To this end, John Holdsworth has taken things into his own hands, wrapping his Refactorator plugin as a standalone Mac App to provide enhanced renaming capabilities for your Xcode projects.
If you’ve read this newsletter for any length of time, you’ll know by now that Sketch
@sketchapp is one of my favourite tools for mocking up new app designs. This week, I stumbled across User Flows, a Sketch extension from @abynim that allows you to generate flows through the different screens of your app. Looks useful.
Vulcan is an open source library from Jin Sasaki that simplifies image downloading in yours apps and provides in-built caching and multi-image download capabilities.
Jelly is a small Swift library from Sebastian Boldt that provides custom view controller transitions in just a few lines of code and allows you to build your own alert-views or slide-in views with ease.
TinyConsole from @maccosmo is a Swift 3 framework that allows you to embed a tiny console display at the bottom of your app and provides a number of gestures that you can use with the live app to add custom log messages.
In a world…
Conferences play a big part in the iOS development community but with a different conference almost every week, @pepibumur reflects on the state of this conference circuit and examines whether conferences are putting too much pressure on their speakers. It’s an interesting and thoughtful article with @cocoaphony writing an equally thoughtful follow-up.
In this talk @alexisgallagher explores the distinction between value types and value semantics. It’s a great talk and one I’d recommend watching it if you want a better understanding of how to write Swift code that is safer and easier to reason about.