S Link
Ship apps faster with buddybuild
Buddybuild is the simplest and fastest way to automate building, deploying and gathering actionable feedback from your testers. A 'git push' kicks off a build and instantly deploys to testers. With a simple screenshot, you'll receive tester feedback and diagnostic details to help resolve issues. Stop cobbling together and maintaining disparate build, deployment, crash reporting, and feedback systems. Focus on what matters most: creating awesome apps!
Find Your Top Developer
See why top startups depend on Toptal to connect them with elite developers, hand-picked to match their needs. Work with top developers on an on-demand basis.
Swift Around the Web
Lenses in Swift, or how to change parts of immutable objects
"Lenses are âfunctional getters and settersâ. This was the main thing I remembered from the talk."
I'm not completely sold on lenses, but I loved original talk by mbrandonw because it blew my mind! And looks like I'm not the only one. In this blog post, @narfdotpl is inspired to continue to explore Lenses and even create his own Swift ”framework and code generator for lenses famework - Lenso!
Swift Tricks Revisited đ©
Love the grouping of case statements with the same implementation / return value!
Coding
iOS 9.3 Preview
iOS 9.3 Beta is out, and it has a super fancy landing page! Features include the much-needed f.flux - like Night Shift feature, amazing Shared iPad Education features on the iPad, and a lot more (did I mention there is a whole fancy page for everything here?!!)!
Automate Testing & Build Delivery with fastlane and Travis CI
"Gone are the days of breaking the build or tests without even noticing. Forget about archiving and sending builds manually to your testers or clients. Build servers are here to save us from the mundane toil."
Apple News
Xcode 7.3 beta is now available
"This beta includes Swift 2.1. Swift 2.2 will be included in a future beta."
BUT we now have fuzzy code completion, toolchain switching, and we got a peak at the future of playgrounds. So lots of excitement to go around!!
Design
Designersâ favorite typefaces
So pretty đ I always wish I could be more design-gifted and understand what makes fonts work well in applications, but I'm not there yet. Meanwhile, I love appreciating what designers select and why!
Other Cool Stuff
Adventures in Japanese UI Design: Railway Information Systems
I've been in Tokyo for the past week in preparation for try! Swift, and I've been consistently impressed by the amazing Japanese Train System UI - the best in the world IMO. The signage, the clarity, the efficiency, the colors, the letters, the numbers, everything! I keep discovering new little UI design elements constantly! Love this!
Videos
Unidirectional Data Flow in Swift, with Benjamin Encz
I really like the idea of having an application router- something that separates out where to go depending on the state of the application. Something that lives outside every single ViewController. So I really like the ideas mentioned in this talk. Code here.
Swift Evolution
Proposal SE-0005 ACCEPTED
"This proposal describes how we can improve Swift's "Clang Importer", which is responsible for mapping C and Objective-C APIs into Swift, to translate the names of Objective-C functions, types, methods, properties, etc. into names that more closely align with the Swift API Design Guidelines being developed as part of Swift 3. Our approach focuses on the differences between the Objective-C Coding Guidelines for Cocoa and the Swift API Design Guidelines, using some simple linguistic analysis to aid the automatic translation from Objective-C names to more "Swifty" names."
Whatâs up in Swift Evolution
Another great summary of what's going on with Swift Evolution. Excited to see this one:
"SE-0011 was accepted for Swift 2.2, differentiating
typealias
implementation fromassociatedtype
requirements in protocols."
Podcasts
Rock Solid Networking, and Custom Core Image Filters
Great discussion about all the things to consider for making field-tested, rock solid networking. Also, custom Core Image filters!
Swift Code
- blog.swift - A tiny server-side Swift blog app.
- SAConfettiView - Confetti! Who doesn't like confetti? đ
- Trackable - Trackable is a simple analytics integration helper library. Itâs especially designed for easy and comfortable integration with existing projects.
- Every.swift - A Swift wrapper for NSTimer
- Scale - Unit converter in Swift
- IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
Learning
Daily Routine
I'm really big on optimizing my mornings and trying to work out every day (it's harder now that I'm traveling all the time!), so I love this post from @ayanonagon, which includes great morning, exercise, and evening tips! This is the secret to success.
Business
A simple tip to reduce App Store rejections
So simple and brilliant! Just write notes about your app for all reviewers to see!
Open Sourcing our Interviewing Preparation Guide
One important part to remember when interviewing someone is that they're interviewing you back! If you're unkind and unhelpful during the interview, they're going to notice and will likely not want to work with you even if they pass the interview! And who knows, they could be on the other side of the table in the future. So treat everyone with compassion, respect, and how you'd want to be treated. One simple thing I like to do is ask them if they want water or another drink, and bring it to them.
My favorite interviews are ones whereI learned something new from whoever interviewed me. It makes me happy and want to work with them! Although I'm by no means great at interviewing (there's a lot to learn to be good!), I try to work with the candidate to help them through the problem and see if they're open to learning / suggestions.
Swift Source
Swift Weekly Brief
Super grateful for these Swift Open Source compilations by @jesse_squires - excited that these now have their own website!
In other news, congratulations to @modocache for being the #1 contributor to swift-corelibs-xctest!!
Swift's mysterious Builtin module
"
Int
and+
are part of swiftâs stdlib which means they are not native constructs, which in turn means overheads == swift is SLOW? nope.This is where
Builtin
comes in.Builtin
exposes LLVM IRâs types and methods directly to the stdlib so there is no overhead of looking up things at runtime and still make Int behave as an struct to do things likeextension Int { func times(otherInt: Int) -> Int { return self * otherInt } }; 5.times(6)
."
Swift Thoughts
This past week, I had the pleasure of discussing Swift with the Tokyo iOS community both at an incredible dinner (thank you @k_katsumi for organizing!!) and at the Tokyo iOS Meetup.
It's truly amazing to get to meet iOS developers from all around the world and discuss things like whether to use a value type or an extension to manage an array of custom objects in Swift! I cannot wait to meet everyone else at try! Swift in March!