S Link
Hired - The End of Job Hunting as You Know It
If you're looking for your next great iOS opportunity, look no further. Try Hired and get access to over 4,000+ innovative companies looking for their next iOS ace. On Hired, companies apply to you, so you can make sure you find the right fit.
Swift Around the Web
Updating Strings for Swift 3
I really enjoyed seeing the Swift 2 vs Swift 3 String code side by side - makes it easier to understand the Grand Renaming by seeing these examples. Thanks @kharrison!
Understanding Swift Evolution
@jesse_squires built a Swift Evolution proposal analyzer and found some fascinating stats:
- 75% of all proposals have been accepted. 70% of these have been implemented.
- Swift 2.2 to Swift 3.0 saw a 1,012% increase in proposals.
- There are 79 unique authors.
- Most proposals have 1 or 2 authors, but thereβs one that has 9 authors.
- @ericasadun has authored or co-authored more proposals than anyone, including everyone on the Core Team π
"Contributing to Swift isnβt just about writing compiler code. Itβs also about ideas. You donβt have to be a compiler expert to have ideas. And you donβt need to write C++ to have an influence on Swift. All you need is a great idea to make the language better for everyone." π
Coding
Declarative API Design in Swift
Love this simple description of architecture with Swift:
"The majority of types I define are simple structs that either describe a piece of data or an intent. Separate types, typically generic classes, are then responsible for consuming these intents and implementing the necessary work."
Decider! An iMessage app post mortem
A great overview of iMessage limitations. And I think the decision at the end was the correct one - it's not worth making something for the sake of making it if it's going to be a horrible user experience. Hopefully the platform will open up in the future to allow for these type of experiences - the idea sounds great and could apply to many verticals!
Design
New E-Commerce Checkout Research β Why 68% of Users Abandon Their Cart
"If we focus exclusively on the checkout usability issues which we β during multiple rounds of large-scale checkout usability testing β have documented can be fixed by checkout design improvements alone, then the average large-sized e-commerce site can gain a 35.26% increase in conversion rate."
Crazy how such a "simple" thing as design can be costing your business such a major loss in potential profit πΈπΈπΈ
Other Cool Stuff
Videos
I create iOS apps - is RxSwift for me?
@icanzilb throws out the script and frankly talks about RxSwift in terms that we can all understand πππ
Real World Swift Performance
Protocols + Performance = π¬
Crazy how simple changes in how we model our data can have such a huge impact on performance. Surprising that generics are one way to speed up Swift code!
Swift Evolution
Process and proposal template for Swift 4 stage 1
πππ
"Relative to the Swift 3 evolution process, the source compatibility requirements for Swift 4 are much more stringent: we should only break source compatibility if the Swift 3 constructs were actively harmful in some way, the volume of affected Swift 3 code is relatively small, and we can provide source compatibility (in Swift 3 compatibility mode) and migration."
Three questions about a more "dynamic" Swift for InfoQ
Chris Lattner answers questions about the future of "dynamic" Swift:
"The primary reason that Swift currently lacks these features is simple prioritization. It has unfortunately not been the highest priority to build, because we already have working systems for all of those in Cocoa, and things like source stability and binary stability (among other things) are more important to the Swift community in the moment. As Swift evolves, they will bubble up in the priority list. "
Swift Code
- Typist - Small Swift UIKit keyboard manager for iOS apps.
- Retry - Haven't you wished for
try
to sometimes try a little harder? Meetretry
- Perfect-URL-Shortener - An Example URL Shortener System for Perfect
- Import - Xcode extension for adding imports from anywhere in the code βοΈ
- SwiftDate - The best way to manage Dates and Timezones in Swift
- SwiftyAttributes - Swift extensions that make it a breeze to work with attributed strings.
Business
A First Look At Apple's App Store Search Ads
Whether you agree with Search Ads or not, they are now a reality of the App Store. So it's best to play along if you're in that π° position IMHO. This article is a great explanation of how Search Ads are similar and different from traditional online ad systems.
The good news is that there is one ad result per query. The bad news is there is one ad result per query - expect very high CPTs πΈ
Other Platforms
Swift on Android: What Now?
"Writing cross-platform Swift source code that can run on both iOS and Android is technically possible, but practically very inconvenient."
BUT you can get involved in making it a convenient reality. @modocache outlines how π
Swift Thoughts
Last week, I traveled to a breathtakingly beautiful island in the Mediterranean. I kept taking pictures to try to capture the unbelievable beauty, but the pictures never came out as beautiful as what I saw there. The overwhelming feelings upon being surrounded by such beauty just couldn't be captured by my lack of photography skills.
Photography is supposed to be objective - you take a photo of what is right in front of you after all. But the best photographers know that it's the opposite. They're trying to capture their opinion, the way they see the one beautiful thing. The way they feel being there. And they will take a ton of photos and adjust everything as needed until the photo comes out exactly like what they actually see and feel - it is their personal perspective of the landscape. It is very opinionated and subjective.
I think the code we write also has this power to transfer feelings - whether it's to another person on your team or to your future self. When it works, you feel the beauty and are proud of your work and you feel the ecstasy of encountering it. When it doesn't, it can cause days of negative energy and frustration. The Swift team is opinionated and detail-oriented, and it shows. When we code in Swift, it feels great! Here is a great quote from Chris Lattner on the subject. Now that's beauty!