S Link
try! Swift NYC
Limited tickets left! Join us for a Swift Community Celebration π₯π in New York City on September 1st and 2nd. Learn how to build a tiny compiler, extend Xcode 8, decode JSON in Swift, implement speech recognition in your app, reuse Swift APIs and code across platforms, tips and tricks of iOS 10 Notifications, property-based testing with SwiftCheck, RxSwift, and much more! Use code SUMMER100 by Friday to get $100 off!
Swift Around the Web
The secret life of types in Swift
A very humble and non-intimidating starter explanation about how types are implemented in Swift, from the parser down to the lower layers of code generation in the front-end π If you're interested in contributing to Swift, but not sure how - this is seriously an amazing start. Looking forward to a lot more post like this one!
Exponential time complexity in the Swift type checker
You might have run into this Swift compiler error and maybe thought it was a bit humorous and of course a bit annoying to have to slightly re-write the code:
error: expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions
This post looks at examples that trigger this error, explains why they occur, how you can work around them, and the negative effects beyond compiler errors that are caused by the same underlying issue.
Coding
Protocol oriented loading of resources from a network service in Swift
"TL;DR - Define the resources in your application by conforming to protocols that define where and how to get them using a generic service type. Finally make your operations conform to a protocol to use them to retrieve your resources"
Other Cool Stuff
Fashion student Lucie Davis' Oyster card nails let you swipe in and out
Who needs the Apple β when you've got π ? Love this!
Videos
Cross-Platform Swift
A good overview of the status of Swift on other platforms, including Linux and Android. There is still a long way to π, but it was super enlightening for me to understand the limitations and issues around this and how to actually share code across all the things!
Swift Evolution
Announcement: Swift 3 Endgame and Swift 4 Kickoff
- July 27th: Last day for accepting planned source-breaking changes for Swift 3
- August 1st: Start of discussion about Swift 4 π
Swift Classes to Be Non Publicly Subclassable by Default
An extremely polarizing discussion. This makes sense in theory and is very Swifty, but might not be the best in practice. From @ericasadun:
"To sum this all up, the core team is rejecting this proposal and requesting a revision to change the concrete syntax to
public open class Foo
instead ofsubclassable class Foo
. This approach satisfies the unwavering goal of requiring additional thought when publishing a class as public API, makes subclass-ability orthogonal to access control, and (admittedly as a bit of a swift-evolution process hack) asks the community for an in-depth discussion of the secondary points of the proposal: does it make sense to require every member to be marked as βoverridableβ in order to be overridden by an open subclass outside of the current module?"
Swift Code
- facebook-sdk-swift - Integrate your iOS apps in Swift with Facebook Platform.
- Translucid - Lightweight library to set an Image as text background. Written in swift.
- Cribble - Swifty tool for visual testing iPhone and iPad apps
- Localide - Localide is an easy helper to offer users a personalized experience by using their favorite installed apps for directions.
- Pokemon-Go-Controller - play pokemon go safely or at unavailable area
- SparkButtonDemo - Demonstrates the Like button animation.
Learning
Evolving as an artist and overcoming art block
It's hard to see improvements in your code or any other skill day to day, but looking back at your code even from a few months ago should be both embarrassing and uplifting - visually seeing your learning and growth right there is so amazing!
Other Platforms
How we put an app in the Android Play Store using Swift
Swift in production... on Android! Amazing series of blog posts on how the team at flowkey made it happen! Here is how you can call Swift from Java and vice versa using the JNI π²
Swift Thoughts
No more source-breaking changes will be accepted in Swift 3 starting next week! Then it's on to Swift 4. Oh, and Facebook has released a Swift-only SDK, courtesy of @nlutsenko. Exciting times as always in Swiftland π