This weekend, I really enjoyed speaking at the very first Swift Mumbai meetup and meeting the amazing community there. I'll be speaking at Swift Bengaluru next weekend. Hope to see you there 🐥 🇮🇳 🎉
Xcode 8.3.1 (8E1000a) Now Available
FIXED: "Xcode 8.3 produces binaries 3x larger than Xcode 8.2 due to a 4x increase in bitcode"
Download Xcode 8.3.1 now if you haven't already!!
Swift Around the Web
Reflectable enums in Swift 3
A great Swifty example of how to remove optionals from your model by using enums instead, but still keep the same non-optional properties easily accessible from each case using reflection. I wouldn't have come up with this solution myself, but I really like it!
Using Swift's Attributes
Good explanation of
Thoughts on Swift access control
The verdict is in - Swift Evolution proposal SE-0159 to remove
fileprivate was REJECTED. @jesse_squires gives his opinion, but also looks at the history of how and why
fileprivate was implemented and beautifully connects it to the Swift Evolution process in general:
"Swift evolution is anything but cheap. Some consider it actively harmful. Every change has a cost, as does every deferment. Some changes are clearly expensive while others are more subtle. Swift 3 arrived with a very real cost — a completely different set of goals and an enormously painful migration. But these were just the actual costs, the results of changes made.
What is perhaps more important to consider are the changes that were not made. The opportunity cost of each Swift release is the value of the changes we decide to forgo — that is, the value of everything that was not implemented."
Object Validation in Swift 3
This is a super Swifty (aka beautiful) way to implement data validation (e.g. number cannot be greater than 3) for your model layer that abstracts the logic away from the UI, does not pollute the models, and allows customizable validation errors ✅
- MBIcons - MBIcons contains over 100 icons that can be resized at any dimensions because they are drawn by code
- SwiftyImage - A simple way to create images with method chaining.
- SwiftSpreadsheet - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶
- gliding-collection - Gliding Collection is a smooth, flowing, customizable decision for a UICollectionView Swift Controller
- material-motion-swift - Reactive motion for iOS.
Swift on Android
Eric Wing tells it like it is when it comes to Swift on Android. Let's just say it's not all 🌈🌈🌈 & 🦄🦄🦄 out there...
Amazing story from @BugKrusha 🙌 The big takeaway here is that just learning in a vacuum is not enough:
" To be successful, it helps to put yourself in earshot of information that might prove useful. On Twitter, the majority of the people I follow are people I have never met but who have met the challenges I anticipate on my journey. Secondly, a mentor may have insights into what you can do to be successful but they cannot do the work for you! It is very important to follow up and follow through."
How to Make a Web Crawler in Swift 🕷
Creating a web crawler is an awesome way to practice scripting in Swift... this crawler is only 77 lines of code!
💻 Swift Full Time
- Software Engineer @ Good Eggs - San Francisco, CA
- iOS Engineering Manager @ Meetup - New York, NY
- Lead Mobile Developer iOS @ Johnson & Johnson - Raritan, New Jersey
Random Cool Stuff
Self-charging robots sorting system
These self-charging robots sort 200,000 packages a day... and they're cute and orange while doing it 🤖💃🏻