S Link
Android for iOS Developers – A Step by Step Guide, First Edition
This book helps iOS developers find their way in the world of Android development. Available in DRM-free PDF, HTML, EPUB, and Kindle formats, to read on any device, without restrictions. Including 46 Android Studio projects ready to build and execute – over 8000 lines of Java code in total – as well as a small introduction to Kotlin!
The Fastest Way to Safely Deploy Mobile Features in Swift Apps
Accelerate development and minimize the risk of deploying new code with controlled gradual rollouts and data driven feature deployment. ROX by Rollout lets mobile dev team release features at the speed your business needs without compromising on safety. Control feature rollouts, measure impact, and take action as needed, without waiting for your next app release. The "big boys" like Facebook & Uber already have a similar solution and now we're bringing it to everyone else. Sign up now!
Swift Around the Web
Swift Enums Are "sum" Types. That Makes Them Very Interesting
A really cool way to think about enums. Put on your math hat for this one 🤠
Coding
Functional Programming is taking over UIs with Pure Views.
This article uses the web as an example, but it's definitely worth thinking about how it could apply to your iOS code with Swift in particular. I personally like to have a function in my views that intakes a protocol and calculates everything in the view. According to this, the view should be completely regenerated if the original protocol data changes at all.
Boost Smooth Scrolling with iOS 10 Pre-Fetching API
Have you played with the new iOS 10 Pre-Fetching API? Me neither! Completely forgot about it - yet, it seems like a simple thing to implement to gain big UICollectionView
and UITableView
improvements (already thinking of some apps that should be using this!). It's almost that time of the year to drop iOS 9 support, so hopefully, many apps will embrace this!
Apple News
ABI Dashboard
Whether you agree with it or not, ABI stability is the top priority for Swift as defined by the Swift team. So they created a dashboard to track progress. If you track, it'll get done!
I personally do agree with it - although ABI stability is not necessary for most iOS developer's day-to-day work, it's critical for moving forward with Swift on the server and creating Swift-only APIs, ultimately moving Swift into that future we all want 🚀
Xcode 8.3.2 (8E2002) Now Available
"Xcode now schedules Swift whole-module optimization jobs in parallel, enabling better utilization of multiple cores for building projects." 👯
Design
"Bottom-oriented" Mobile UI Design
Really love the examples of bottom-oriented menu options. A lot more usable than the past hamburger menu and top row options 💯
Other Cool Stuff
The Story of the Mexican Fisherman
A friend forwarded this to me this weekend after he read my personal blog post about trying to stop feeling guilty about not being as productive as I think I should be. A good reminder to slow down and think of what you actually want from life... and if the path you're supposed to take is the only one that'll get you there.
Videos
Making Mock Objects More Useful
Wow! An incredible explanation of what a mock object is, why it's useful, and how to make it incredibly powerful 💪 with Swift. Must watch!
Everyday Reactive
Reactive programming seems to be becoming more and more popular - it's definitely on my list to learn and understand Luckily, reactive expert @vasarhelyia has us all covered - so we can get up to speed faster and avoid making the same mistakes she did 😅
Swift Evolution
IMPLEMENTED: Protocol-oriented integers
"This proposal cleans up Swifts integer APIs and makes them more useful for generic programming."
Swift Code
- SquishButton - A button that squishes when pressed. As seen in the Clips app.
- EmojiIntelligence - Neural Network built in Apple Playground using Swift
- Placeholders - 🅿️ Define multiple placeholders for UITextField and animate their change. Blog post here
- Cluster - Easy Map Annotation Clustering 📍
- PassKit-Business-Card - A template for iOS Wallet passes that can be used like business cards.
- YNSearch - 🔍 Awesome fully customizable search view like Pinterest written in Swift 3
Business
Five Lessons from Scaling Pinterest
Amazing learnings from growing Pinterest from 5 to 650 employees. My favorite tip was about measuring the right thing and how vanity metrics could actually be harmful:
"You use a metric because it makes your company (or team) look good, and because you start tracking it, you want it to continue to increase, so you start optimizing for it. This will take you down the wrong path."
screamers are 2017's first weird fad
This is completely fascinating - games where the user has to scream as loud as possible to make a chicken run 🤣 Kudos and $$$ for the crazy thinking that this would work:
"In totality, the apps made this year have only seen $543k in revenues and 10.7M downloads. About 92% of this revenue stems from ad dollars and not IAPs. Chicken Scream from Perfect Tap Games comes in as the number one app in terms of both downloads and revenue with 3.8M and $171k respectively."
The good news for Siri / AirPods / Apple Watch is that people seem to be getting comfortable talking to their phones... so there's that.
Swift Thoughts
I'll open up by encouraging everyone to take some time off and refresh if you're getting toward that burn out point! Last week, I had no sponsors (side note: you can sponsor an issue here), so I took a break from writing this newsletter after some intense travel and work, and now I'm feeling way more refreshed and energized to bring you the best newsletter out there!
Way too much fascinating stuff this week. Enjoy Swifting!