The Swift Algorithms Book (30% off)
News
The Talk Show - Interview with Craig Federighi
This week’s episode of The Talk Show started with Craig Federighi talking about the Swift open source release. There wasn’t much new information revealed but it was nice to hear it in Craig’s words and it was an relaxed, enjoyable conversation. There’s also a transcript if you’d prefer to read rather than listen.
Just two weeks in and already the first Swift Evolution proposal from the community has been accepted. Erica Sadun proposed the removal of C style for loops from the language, and it’s been accepted! They will become a warning in 2.2 and an error in 3.0. I like the proposal, but I’m really happy to see how the discussion and acceptance process on the mailing list was treated in exactly the same way as the proposals from within Apple. The same mailing list is also the source of some little gems of information like this post on dynamism in Swift by Chris Lattner. It’s very exciting to see all of this happen in public.
Tools
If you’re writing Swift, it’s a fairly safe bet to assume you’re writing it in Xcode, or possibly AppCode. But there were a couple of projects that caught my eye this week which could mean that your choices for editors/IDEs might expand over the next few months.
Hacking Atom to create a Swift IDE
First up is this experiment from Ankit Agarwal. He’s integrated the LLDB debugger with Atom. It’s very rough and ready (naturally) but it shows promise. You’re not going to be writing iOS apps with Atom any time soon, but maybe something server side? Interesting article anyway.
This project is also worth checking out. Benedikt Terhechte has put together a daemon which interacts with JP Simard’s SourceKitten framework (which I also hadn’t come across!) to expose Swift autocompletion as a service. There’s a demo of it being used in a simple editor but naturally this could be used anywhere.
Oh and if you’re experimenting with the various unreleased versions of Swift, this tool by Kyle Fuller will come in handy for switching your environment.
Code
Soroush Khanlou on the choice between classes and structs for model objects. I recently experimented with building some models using structs and while it was an interesting exercise, ultimately it it ended up being a significantly more complex solution and didn’t feel right. This article is a good summary of where it works and where it’s not a great choice.
I love guard, it makes code so much simpler and was a great addition to the Swift language. Are you overusing it though? Or underusing it? It’s a subtle topic, but very well explained here by Radek Pietruszewski.
Details matter - Harnessing the power of CoreAnimation
Krzysztof Zabłocki with a great tutorial on reproducing the animations and interactions from the Stripe Checkout. There’s not really any new techniques here but it’s good to see it all put together.
An extremely comprehensive list of everything you could possibly want to know about Swift. Blogs, books, quick references, presentations, videos, and a whole load of specific, categorised blog posts.
Videos
Functional Swift Conference 2015 - Videos
This conference only happened a week ago and already the videos are available! This alone is proof that functional programming is best. 😄
iOS Developer @ Workflow - San Francisco, CA
Senior iOS Engineer at Centralway, Zürich, Switzerland
iOS Engineer (Karma; New York, NY)
And finally...
Fallout 4 Service Discovery and Relay
Fascinating investigation of how the Fallout 4 companion app communicates with the PlayStation 4.