S Link
Mega Swift Bundle
The ultimate iOS library β 8 books with everything you need to become an iOS 9 and Swift 2 master! Includes books on beginning Swift & iOS development, intermediate topics like watchOS & tvOS development, and advanced topics like new iOS 9 APIs, Core Data and iOS animations.
Group Chat & IM for Teams
Communicate with co-workers in real time. Used by Netflix, Dropbox & Salesforce. $0/unlimited users. Get started
Swift Around the Web
Coding
ICU Text Transforms in Cocoa
Fascinating article about the power of the CFStringTransform
function in Core Foundation (that I've never heard of) for transforming text!
"You can use string transforms to normalize search terms the user has entered before feeding it to the database. This can vastly improve search performance and yield better search results."
A Modern Network Operation
"With this implementation I am able to build network operations that are small discrete units of work that I can easily test with a unit test. I can expand upon this by passing in a
NSManagedObjectContext
and have myprocessData()
function create a private child of that passed in context and consume the data received from the server.I can also attach a completion block to the NSOperation and get bandwidth information from the operation if I want and make adjustments to the assumptions of the application based on the current bandwidth."
Apple News
It's Coming: the Great Swift API Transformation
WHOA! Expect some HUGE changes:
"In order to converge Cocoa and the standard library, we needed a target to shoot for: a unified, written approach to API design that everyone could follow. We started by going back and questioning all our old assumptions. Existing guidelines were fantastic, but much of the material was geared to Objective-C, didnβt cover Swift-specific features such as default arguments, and more importantly, were not informed by the emergent sense of 'Swiftiness' that we felt was so important to capture.
As we developed these guidelines we applied them to the standard library, all of Cocoa, and a couple of sample projects. We evaluated the results, refined, and repeated. Before Swift went open source, weβd have done this all behind closed doors, and presented you with the results in the next release, but a new era has dawned on Swift: itβs time to show the world what weβve been up to."
Have an opinion on what this new, more Swift-y API should look like? Submit your thoughts by February 5th!!
Xcode 7.3 beta 2 Now Available
This release includes Swift 2.2 - with contributions made by the community (!!!!) as I already mentioned. But it's so exciting, I'm happy to mention it again π! The Release Notes are here, but I rather enjoyed @ericasadun's summary: Welcoming our new Swift 2.2 Overlords.
In other news, we now officially have interactive playgrounds!!! Check out the incredible demo here!!
Design
UI Animation.Microinteraction for Macroresult
π These are absolute eye candy and useful at the same time. It's these type of details that make your app really work.
Other Cool Stuff
AlphaGo: Mastering the ancient game of Go with Machine Learning
Just hours after Mark Zuckerberg posted that Facebook is "getting close" to creating the AI that can learn to play Go - "the last games where the best human players can still beat the best artificial intelligence players" - Google put up this blog post announcing that they already have the AI to beat Go!
"We invited the reigning 3-time European Go champion Fan Hui β an elite professional player who has devoted his life to Go since the age of 12 β to our London office for a challenge match. The match was played behind closed doors between October 5-9 last year. AlphaGo won by 5 games to 0 -- the first time a computer program has ever beaten a professional Go player."
Videos
Exploring Apple Pay with Swift
If your app accepts any type of payments, Apple Pay is a necessity. And of course, the code is better in Swift π₯! So learn the gotchas from @wendyluwho and start making $$$$ π€!
Swift Evolution
The Great var-vs-let War of 2016 Armistice
Amazing to see the Swift team reconsider a decision on a proposal they made before Swift became open source that the community didn't agree with.
"In the end,
var
will be removed from parameter lists, where it can confuse users with inout functionality but remain available for most other use cases, eliminating the labor of constantly using let binding followed by var binding.Swift developers everywhere are celebrating this morning. Let us all raise a glass to the Swift Team in honor of this thoughtful reconsideration."
π·
Accepted: Referencing the Objective-C selector of a method
π No more Strings for Objective-C Selectors!!!
// Instead of this:
Selector("insertSubview:atIndex:")
// You'll use this:
let sel = #selector(((UIView.insertSubview(_:at:)) as (UIView) -> (UIView, Int) -> Void))
Swift Code
- Gameboard - Play Checkers, Chess, TicTacToe & soon more in a Swift Playground!
- Freddy - Parsing JSON in Swift optimized to maximize safety, use idiomatic style, and provide speedy parsing. Blog post here
- swift-algorithm-club - Algorithms and data structures in Swift, with explanations!
- ParseAlternatives - A collaborative list of Parse alternative backend service providers. In case you haven't heard: Moving On π
- SWIFT SYNTH music app - Swift Synth is a full-featured, open-source synthesizer app completely written in Swift.
- Graph - An elegant data-driven framework for CoreData in Swift.
Learning
Fixed vs. Growth: The Two Basic Mindsets That Shape Our Lives
Super important to read to optimize for the right mindset! I also heard amazing things about the book!
"Out of these two mindsets, which we manifest from a very early age, springs a great deal of our behavior, our relationship with success and failure in both professional and personal contexts, and ultimately our capacity for happiness."
"At the heart of what makes the growth mindset so winsome, Dweck found, is that it creates a passion for learning rather than a hunger for approval. Its hallmark is the conviction that human qualities like intelligence and creativity, and even relational capacities like love and friendship, can be cultivated through effort and deliberate practice. Not only are people with this mindset not discouraged by failure, but they donβt actually see themselves as failing in those situations β they see themselves as learning. "
Business
Gang of Four: Apple / Amazon / Facebook / Google (Scott Galloway, Founder of L2)
Fascinating thoughts about Apple and the Apple Watch - must watch if you think the Apple Watch is a failure... And if you're looking for opportunities to become part of the gang, look no further than education! Fascinating (and very disturbing) numbers there!
The only problem with this gang of four controlling the world is that we all lose out on the profound π€
The Story Behind f.lux, the Night Owl's Color-Shifting Sleep App of Choice
Reading this incredible "overnight success" story on my f.lux - tinted screen...
"Everyone thinks this problem is easy until they spend a year or two on it, and then they think it's the hardest problem they've ever worked on."
"Developing f.lux, it turned out, was more complex than either Lorna or Michael initially thought. And in the seven years since they started working on the app full time, Michael and Lorna have realized what theyβre really on is a mission to change the way that we sleep."
Swift Source
Swift Struct Storage
"Swift's classes tend to be straightforward for most people new to the language to understand. They work pretty much like classes in any other language. Whether you've come from Objective-C or Java or Ruby, you've worked with something similar. Swift's structs are another matter. They look sort of like classes, but they're value types, and they don't do inheritance, and there's this copy-on-write thing I keep hearing about? Where do they live, anyway, and how do they work? Today, I'm going to take a close look at just how structs get stored and manipulated in memory."
Swift Thoughts
π We did it! As of the newest Xcode 7.3 beta, Swift contributions made by the community are officially IN!!!
π·