S Link
Ship Your Awesome Swift Apps Faster with Buddybuild
Buddybuild is the simplest and fastest way to automate building, deploying and gathering actionable feedback from your testers. Every 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. Should your app crash, buddybuild will track the number of crashes, which users were affected, and find the exact line of offending code responsible for the crash. With buddybuild, you can focus on what matters most: creating awesome Swift apps!
The Swift Algorithms Book (available in print!)
Written for students and professionals, The Swift Algorithms Book blends modern code, illustrations and computer science to help you pass the interview or build your next app. Perfect for the classroom or the office, the book takes a fresh approach to explain concepts that power search engines, databases and social networks. Now available in print, EPUB and PDF format. Use code coupon code THEROBOT at checkout to receive a 30% discount!
Swift Around the Web
Hipster Swift: Demystifying the Mysterious
Bookmarked! Must-know weird Swift things that are either confusing or easy to forget, including:
- @noescape
- @autoclosure
- Inline Lazy Vars
- ()() AKA Currying (RIP 👻)
- Variadic Parameters (or that weird ... thing)
- The "dynamic" keyword
- Special Literals
- Loop Labels (bet you don't know this one)
🤓
15 Tips to Become a Better Swift Developer
Lots of great tips! I like the one about creating global helper functions - not something I would recommend to do often, but the examples used for Grand Central Dispatch make a lot of sense!
Coding
Profiling your Swift compilation times
A super important article on how to figure out what makes your code slow! Must read for every iOS (and Swift) developer! After @irace figured out that it was the same line of code that was the culprit, "Rewriting just these three lines of code caused my entire project to build 60% faster"!
"Swift is still an incredibly young language and it shouldn’t be surprising that there are still rough edges like this for us to, as a community, collectively find and help sand down. As we learn more about how to instrument our code, and in turn, what the compiler’s pain points are, we’ll become better at helping one another avoid such pitfalls, and helping those working on Swift itself prevent them from happening in the first place."
Mobile App Testing - Tips and Tricks
A very comprehensive and useful article full of tips on creating a good testing environment for your team. @AKhozya covers:
- How to make the process of mobile app testing easier in general;
- Particular features of working with the network, with internal and external services, and with the iOS and Android platforms;
- Which process solutions and changes will let you develop faster and introduce a testing culture to your development department;
- Useful instruments and solutions for testing, debugging, monitoring, and user migration.
Design
Create App Store Screenshots with Sketch
I'm usually super intimidated by design stuff, but after seeing how easy it was to use Sketch to create a vision board for 2016, I'm super confident that I can make really nice App Store Screenshots as well, with the help of this tutorial of course. So excited to feel empowered like this!
Are You Scanning Me, or Am I Scanning You?
I know QR codes are a joke in Silicon Valley, but it's fascinating to read about all the cultural implications that come with actually using them in a social networking context in China. Wow! A lot to think about and decide!
"This multistep process gives the QR bottom the optionality to quietly reject a connection with the safety of plausible deniability — ”I never received the request!” or even “I thought I added you back, but I guess I forgot to send a message.” Being someone’s WeChat friend means that they now have the ability to ask you for favors, to invite you to spend more time with them, to share pieces of their lives with you through Moments. The ability to gracefully control whether that happens or not is no small power."
Other Cool Stuff
93.1 Da Pa`ina: Hawai`i's Reggae Station!
While I was lucky to avoid #snowzilla2016, I did have to go back to some winter this week. However, I stopped in Hawaii on the way, and cannot stop listening to this Hawaiian Pop station to get my Hawaii 🏝 vibes back. Great for helping with those winter blues!
Swift Evolution
Naming Functions with Argument Labels
Accepted for Swift 2.2! Now when multiple functions have the same base name:
extension UIView {
func insertSubview(view: UIView, at index: Int)
func insertSubview(view: UIView, aboveSubview siblingSubview: UIView)
func insertSubview(view: UIView, belowSubview siblingSubview: UIView)
}
You'll be able to correctly reference a function for later use:
let fn = someView.insertSubview(_:at:)
let fn1 = someView.insertSubview(_:aboveSubview:)
let fn2 = someView.insertSubview(_:belowSubview:)
Follow-up proposal for Referencing the Objective-C selector of a method is under review!
Swift Code
- Gecco - Simply highlight items for your tutorial walkthrough
- Cuckoo - First boilerplate-free mocking framework for Swift!
- vapor - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu.
- FlowBarButtonItem - UIBarButtonItem born chat head button.
- ElasticTransition - A UIKit custom transition that simulates an elastic drag.
- FolioReaderKit - A Swift ePub reader and parser framework for iOS.
Business
2016 will be the year of conversational commerce
I'm always impressed by seeing friends use Siri effectively. There is no unlocking the phone, opening the app, typing what you want. My friend just told Siri to create a Reminder and to get us to the correct address, and it worked! All without ever interfacing with the app and while focused on driving!
Not being a super Siri person myself (I don't trust it work yet I guess), seeing how well it works in action makes it clear that the conversational interfaces are the future.
"No longer do you need to convince users to “download and install” an app — they can just invite a bot to a conversation and interact with it [eventually] like they would a person. Zero barriers to adoption, with minimal risk to the user (i.e. malware, etc)."
Swift Source
Exploring Swift Dictionary's Implementation
- Swift dictionary is made of two generic types: Key (which has to be Hashable) and Value
- An entry can be made by providing a key and its value
- A value can be retrieved by providing a key which has been inserted before
- A entry can be deleted by providing a key
- Each key will map to one and only one value
Swift Thoughts
Here are your Monday morning laughs. You're welcome 😎