This is the #16 article. This year’s Scholarships uses Swift playground as requirements.
I’m excited to see what they create.



Article

Enums, Equatable, and Exhaustiveness

Donʼt use default in switch statements if you can avoid it.


Using Interface Builder at Lyft

Last week people realized that Xcode 8.3 by default uses storyboards in new projects without a checkbox to turn this off. This of course sparked the Interface Builder vs. programmatic UI discussion again, so I wanted to give some insight in our experience using Interface Builder in building the Lyft app. This is not intended as hard “you should also use Interface Builder” advice, but rather to show that IB can work at a larger scale.

The #1 complaint about using Interface Builder for a project with more than 1 developer is that it's impossible to resolve merge conflicts. We never have this problem

I thought it was the biggest problem for them.

Great case of class inheritance!


That One Optional Property

Sometimes you need to modify your view controller to do a new thing. One thing leads to another, and you find yourself adding an optional variable property to the view controller, which will be set in some cases and not in others.

The key is to use enum instead of Optional in ViewController to represent many states. Optional is Not a Silver Bullet!


APIKit 4

ETA: Early 2017

The plan of APIKit4.


Safeguarding Equatable Implementations

If you can secure your Equatable implementations against regressions by using a linter, a static analysis tool, or a code-generation tool like Sourcery, then by all means go for it. I donʼt think there are currently any code analysis tools that would catch the problem I outlined here, however. The imperfect solution I presented here might help you catch some bugs until other, better tools become available.


Service-oriented AppDelegate

AppDelegate is typically a huge class. It knows too much about your application and it progressively becomes a mess. Here, I will show you how to decouple it from its sub-functionalities by creating a clean plugin-based architecture.


FASTER TOGETHER: UBER ENGINEERING’S IOS MONOREPO

Over the past few years, Uber has experienced a period of hypergrowth, expanding to service over 550 cities worldwide. To keep up, our mobile team also had to grow. In 2014, we had just over a dozen mobile engineers working on our iOS apps. Today, our mobile team numbers in the hundreds. As a result, our mobile tooling has undergone major changes to meet the demand of this larger and also more dynamic team.

more than 150 engineers had joined our wider iOS team. That’s amazing!!


The font of all… well, some knowledge

I’m a big believer in using dynamic type as much as possible. However, the API for dynamic type preferredFont(forTextStyle style: UIFontTextStyle) is a class method on UIFont and only returns the system text (SF) font. This is not so helpful when using custom fonts in your app.



Slide

UI and Snapshot Testing

In snapshot testing, a view is rendered and saved into a repository. When the test is run, the tool re-creates and re-renders that view and does a comparison.


Contributing to the Swift compiler

Ayaka Nonaka at Swift Summit San Francisco, 2016



Github

KrauseFx/new-mac

The things I do when setting up a new Mac


IvanVorobei/RequestPermission

simple permission request with beautiful UI


lorentey/OptimizingCollections

Home of my talk about Optimizing Collections in Swift



Random

Hire Samuel Giddins

I’m Samuel Giddins. You probably know me as segiddins from the internet, or or from open-source projects like Realm, CocoaPods, Bundler, and RubyGems. For the past four years, I’ve been a core developer on some of the most used package management systems in the world, helping to maintain the projects and infrastructure keeping the Ruby and Cocoa worlds humming.


Kite Compositor

A powerful animation and prototyping application for Mac & iOS


Now that 2017 is really in swing and spring is on its way, maybe you’re thinking about renewing your job search. At Stack Overflow, we have our finger on the pulse of the developer hiring scene, and we’ve put together some data on 2017 hiring trends to help you steer your search.

In iOS and Android, I found Often companies indicate a desire for candidates with knowledge and experience in both platforms.. I don’t ‘think it’s common. Depends on company or business situations.



Podcast

35: The Swift Variety Episode

This week we talk about WWDC Scholarships, a fun way to get started with hardware, and new projects we are working on.


#70: The Hacks We Ship

The difference between good and bad hacks, and some glorious hacks we’ve shipped in our apps.


01: Already & Only (Swift Open Source Year in Review)

In this episode we take a look at the first full year of open source Swift development and the first complete release cycle (for 3.0) that happened completely in the open. We reflect on where we’ve been and how we got here. We discuss the initial launch, Swift evolution, the “Great Swift 3 Migration”, and more!



Delicious Shop!?

If you have any questions and feedbacks about a kind of new Swifty week, feel free to ask me :+1: You can catch me on Twitter and Github.

Have a lovely week <3