Swift Around the Web
10 Swift One Liners To Impress Your Friends
Here are your Swift party conversation starters! You're welcome.
ARC + Swift: It “just works” — but how?
"Memory management questions were, and still are, always a surefire way to humble a classroom full of fledgling software developers."
Love this super simple and clear explanation of ARC in the Swift context.
Coding
iOS Cell Registration & Reusing with Swift Protocol Extensions and Generics
MUST READ!! A beautiful implementation dealing with UITableViewCells and UICollectionViewCells using Protocol Extensions in Swift! A very similar article here if you'd like to see more.
NSHipster Reader Submissions - New Year's 2016
Too many good ones to list here. My personal favorite is the Phantom Types one. I've seen them before, but I always forget to use them. They make code so readable!
Apple News
Swift 2.2 Release Process
Amazing to see this level of continued transparency on everything Swift from the Swift Team:
"Swift 2.2 is the first official release of Swift after Swift was released as open source. It will be a mostly source-compatible release with Swift 2.1, containing a large number of core improvements (e.g., bug fixes, enhancements to diagnostics, faster generated code) without many significant visible changes to the language itself. It is intended to be an intermediate point between Swift 2 and Swift 3, with Swift 3 containing more disruptive changes to both the language and Standard Library."
Design
Facebook Tests Users’ Reaction to Crashes
Wow...
"Facebook has tested the loyalty and patience of Android users by secretly introducing artificial errors that would automatically crash the app for hours at a time […] Even if the native app continued to not work, the users would open Facebook on their phone’s mobile browser."
The State of UX in 2016
"Apps are not necessarily your user’s final destination anymore; they’re just an engine that translates raw data into actionable information. Some users might still occasionally open that beautifully-designed weather app to check the forecast, but the most useful thing the app can do is to send users a notification 15 minutes before it rains — reminding them to bring their umbrella as they leave."
Other Cool Stuff
Summon Your Tesla from Your Phone
"Using Summon, once you arrive home and exit Model S or Model X, you can prompt it to do the rest: open your garage door, enter your garage, park itself, and shut down."
Can it also cook, clean my house, and do my laundry? Oh, and go to the grocery store! I like this future!
In Case You Missed It
New Year, New Adventures
Lots of exciting personal news here. This is going to be the most challenging and exciting year yet!
Swift: Dependency Injection with a Custom Initializer
Sometimes, the best solution to good unit tests is dependency injection via the initializer (construction injection). Here's an example....
Tutorials
Videos
Functional Reactive Programming with RxSwift, with Max Alexander
One of my goals for this year is to learn and understand Reactive Programming, so going to leave this here for those who'd like to join...
Swift Evolution
Swift Library Evolution Design Document
This model is intended to serve library designers whose libraries will evolve over time. Such libraries must be both backwards-compatible, meaning that existing clients should continue to work even when the library is updated, and forwards-compatible, meaning that future clients will be able run using the current version of the library. In simple terms:
- Last year's apps should work with this year's library.
- Next year's apps should work with this year's library.
This document will frequently refer to a library which vends public APIs, and a single client that uses them. The same principles apply even when multiple libraries and multiple clients are involved."
The Swift Evolution proposal SE-0009 rejection: Require self for accessing instance members
I'm super glad the proposal for having to use self.
for instance variables and methods was rejected. It's something I've had arguments with team-mates about, but ultimately, there wasn't a clear answer to who was right, since they did have legitimate points.
Now there is a list of reasons to use! And of course, for those who are passionate about using self.
can continue to do so. My take is that as long as it's consistent throughout the same codebase, it's fine.
WATCH
CS 193W: Apple Watch & TV Programming
Whoa! Stanford is officially offering an Apple Watch & an Apple TV course for the spring semester! Of course, the information in that course will be outdated as soon as the course ends just in time for WWDC, but this means Venture Capitalists will be funding the apps made by these Stanford students as usual. This is where the Silicon Valley $$$ is going.
Swift Code
- TransitionTreasury - Easier way to push your viewController
- MockFive - A Mocking Framework for Swift Unit Tests. Blog post here
- Sugar - Something sweet that goes great with your Cocoa
- ImagePicker - Reinventing the way ImagePicker works.
- Periscope-VideoViewController - Video view controller with Periscope fast rewind control
Learning
Open Source #Swift on the $9 C.H.I.P. computer? Yeah, it works!
One of the biggest obstacles to schools teaching Swift is that it only runs on super expensive Macs that many students can't afford. It's amazing to start seeing that barrier start breaking down to this extent now that Swift is open source!
10 Reasons You Should Blog As A Developer
In case you're looking for more encouragement to one of your New Year's Resolutions 😉
Business
How We Got off the Addiction to Venture Capital and Created Our Own Way to Profits
Fascinating story of a company that focused on VC funding only to realize that the goals and vision that VCs set for them (and time wasted raising $$) were not what they or their customers actually wanted. It takes a lot of courage and work to keep the soul of a company.
Swift Source
Exploring Swift Array's Implementation
I'll be honest, if I saw the raw Array implementation code, I would have no idea what's going on. This explanation is super helpful for at least following along and learning how to read the source code.
Swift Android: Support for building APKs with (proof-of-concept) Gradle plugin.
Wow! Still a lot of work to do to write Android apps in Swift, but it is slowly happening!
Swift Thoughts
Today, I'm beyond thrilled to launch my first project of the year: the Swift Job Board 🍾🐥🎉
Last week, I conducted a poll and the results were loud and clear. You want to work with Swift!!! I'm super excited to have a place to feature companies that provide that golden Swift opportunity!!
The Swift Job Board is still in beta and we have a lot more work to do, so please let us know if you have feedback or ideas! We'd love to hear what you all think!