S Link
The iOS Apprentice
Learn how to make iPhone and iPad apps from the ground up, with a series of epic-length tutorials for beginners! You'll build 4 complete apps from scratch: a simple game, a checklists app, a location-aware app, and an iTunes-style store app.
Intro to Coding with Swift (40+ videos & quizzes)
This FREE course is the perfect starting point for your non-programmer friends to start their Swift coding & iPhone development journey. Taught by the "For Dummies" books tech editor.
Swift Around the Web
Object-Oriented Design Principles In Swift
Love this! Examples of Object-Oriented Design (OOD) principles in a Swift playground! With links to each Uncle Bob article for bigger context / reading.
Undo History in Swift
A good example of how dynamic Swift can really be:
"Over the last weeks, there have been a number of blog posts that want to add dynamic behavior to Swift. Swift is already a very dynamic language: it has generics, protocols, first-class functions, and the standard library is filled with functions like map and filter, which dynamically get their operation (not using a string like with KVC, but using a function, which is safer and more flexible)."
Coding
Avoiding the overuse of @objc in Swift
While in the perfect world, we would all love to write Pure Swift apps, in reality, we still have to deal with Objective-C API's in our day-to-day app development. It's tempting to solve problems that come up by simply listening to Xcode and putting @objc
everywhere for example. But there are better, Swiftier ways of solving issues that come up in a way that'll isolate the problematic code. Thanks @jesse_squires for a great example of this!
Swift: NSNotificationCenter protocol
Another good example of how to use Swift's powerful protocol features to hide the ugly (aka String-based) sides of the Cocoa frameworks.
Design
Live Design, with Maxim Cramer
I aspire to be able to do at least minimal design, but I've found it impossible with photoshop - it takes me 10+ minutes just to extract an image without the white background! With Sketch, I've been surprised by how easy it is to make small changes. But @mennenia takes it to that level where I feel like I can do more! The most impressive thing about this talk was that the audience at try! Swift was able to follow along and actually make an app icon by the end of the talk! There's still hope for me!
Other Cool Stuff
Pass by reference vs. pass by value ;)
๐ visual showing the difference between pass by reference vs pass by value. Super important to understand this for Swift (think class vs struct).
In Case You Missed It
On Diversity
I wrote about something a bit more personal and something I'm pretty uncomfortable talking about publicly: diversity in tech and in our community ๐
Swift: Attempting to Understand Type Erasure
At the try! Swift Conference in Tokyo, @purpleyay gave a mind-blowing talk on Type Erasure (full video and slides here). Iโm honestly still trying to wrap my head around it, and especially the use-cases, but for now, I wanted to write down the example from the talk to keep in my mind and refer to later whenย it suddenly fits the problem Iโm solving.
For more on Type Erasure, check out this compilation by @mjtsai.
Videos
Modern Core Data
While this talk focuses on Core Data specifically, it's really about how to use old API's in Swifty way ๐
Outside In โ Using UI Tests To Start Improving Your App
Most testing talks / literature focus on green-field projects, where Unit Testing is a great place to start. But in real life, we are often thrown into older code bases that have no testing. @designatednerd argues that in these cases, it's better to start Outside In - starting from UI Tests vs Unit Tests. She then walks through how to do this. Important talk!
Swift Evolution
Platform Configurations: Now and Future
This is both promising and very exciting, but also starting to get a bit overwhelming... It was nice being just a simple iOS developer for a while.
"In the latest source, Swift offers the following conditional tests for operating system:
OSX
,tvOS
,watchOS
,iOS
,Linux
,FreeBSD
,Windows
, andAndroid
, which is quite a lot more options than the language started with."
Swift Code
- swim - Simple build system for the Swift language
- Floater๐ฉ - Add a floating fingertip to your app demo.
- ios-swift-collapsible-table-section - A simple iOS swift project demonstrates how to implement collapsible table section.
- SwiftyOAuth - A small OAuth library with a built-in set of providers
- Stellar - A fantastic Physical animation library for swift
- Flow - Operation Oriented Programming in Swift
Business
Mary Meekerโs 2016 Internet Trends Report is here
MUST READ!! The big takeaways for me were to focus on Voice & Cars.
On Voice:
"As speech recognition accuracy goes from say 95% to 99%, all of us in the room will from barely using it today to using it all the time. Most people underestimate the difference between 95% and 99% accuracy - 99% is a game changer" - Andrew NG, Chief Scientist at Baidu
On Cars:
"We do believe the traditional model is being disrupted... We're going to see more change in the next five years than we've seen in the last 50." - Mary Barra, GM CEO
Swift Thoughts
Only a week left until everything changes ๐ฑ I'm personally enjoying the final calm before the storm - catching up on the final things I want to learn, going outside, having fun with the try! Swift website redesign, and thinking about our community.
I'll be in San Francisco during WWDC week (without an official ticket) and I hope to meet you ๐ฏ I'll be participating in the WWDC panel with @ayanonagon, @sandofsky, and @jesse_squires on Monday night, and I'll be speaking about my first year as a digital nomad at AltConf on Tuesday at 11am.
And of course, I'll be just hanging out and grabbing tea with everyone. If you're interested in meeting up, just tweet at me during the week, and we'll figure something out ๐ค๐๐
Note: There will be no issue next week, as there will more important announcements to pay attention to :)