This is the #13 article. @tkremenek posted Swift 4 Release Process in the official blog.
Also, you can check details → [swift-evolution] Swift 4, stage 2 starts now.

@rjmccall started to write the ownership manifesto document.

The post about a future of Swift makes me think about coexisting.

If you’d like to know only summarization, I recommend to seeing Swift 4: Release Process and Phase 2 by @erica or Deferring ABI Stability From Swift 4 by Michael Tsai.



Article

Swift vs. React Native Feels

The post describes why we made the decision to move all new development into React Native instead of Swift.


Getting to Swift 3

We want to share with the community our approach to this migration, the effect Swift 3 has had on our app, and some technical insights we gained along the way.

These are practical tips from an Airbnb iOS team!


How we made Chatto

Our chat was old, having evolved over the years into a massive view controller with weird fixes that nobody could understand. It was difficult to add new types of messages and new bugs were easily introduced. So we decided to rewrite it from scratch on Swift and make it open source.


Swift + Keywords (V 3.0.1)

So today — we’ll look at every single keyword Swift (v 3.0.1) has to offer us along with some code for each one, all in the name of booking up on our trade’s tools.


Swift Hashable

I already covered making a custom Swift type Equatable and Comparable which allows us to test if an Array contains an instance of our type or to sort the array amongst other things. What if we want to store our type in a Set or Dictionary?


That API thing

Today, Nikita Voloboev was trying to wrap his head around how this whole Cocoa/Cocoa Touch API thing worked. The conversation started when he asked, “Is UIKit part of Cocoa?” The docs weren’t really giving him an idea of how it all worked. After a few minutes back and forth, he derived this concept using the tools at minenode.com:


Swift snippet #10 — remove(d)

remove — it takes a closure to remove an element that matches the provided condition & returns the removed element. Its a mutating func which means it modifies the host array

The important thing in this function is that mutating(remove) or non-mutating(removed).


Touchy-feely

I got a design requirement recently for a button to be placed in the bottom corner of the screen and for it to be the same distance from the trailing margin as the bottom.

ExtendedTouchable is really useful.


Refactoring singleton usage in Swift

In software development, singletons are widely discouraged and frowned upon — but with good reason. They are difficult or impossible to test, and they entangle your codebase when used implicitly in other classes, making code reuse difficult. Most of the time, a singleton amounts to nothing more than a disguise for global, mutable state. Everyone knows at least knows that is a terrible idea. However, singletons are occasionally an unavoidable and necessary evil. How can we incorporate them into our code in a clean, modular, and testable way?

@jessesquires recommends to using Dependency injection instead of using Singleton in ViewController. It enables to reuse codes and write tests easily. And Default parameter values is good for non-breaking refactoring.


Providing a unified Swift error API

I want to share a technique that I’ve come to find quite useful when using the Swift do, try, catch error handling model, to limit the amount of errors that can be thrown from a given API call.



Slide

What the 55 Swift Standard Library Protocols Taught Me

How does the way the Swift team uses protocols, give us hints on how we can do it?


Simpler Tables with Values, Enums, & Protocols

More productive Swift table views with Static



Github

venmo/Static

Simple static table views for iOS in Swift. http://blog.soff.es/static

mono0926/mono-kit

(´・‿・`)

norio-nomura/UnescapeHTMLSpecialChars

Library to unescape HTML special characters in Swift.

roberthein/TinyConstraints

Nothing but sugar.

samdmarshall/tiny-tools

tiny command line tools and where to find them

zydeco/minivmac4ios

Mini vMac for iOS https://namedfork.net/minivmac

garricn/MakeRepo

Swift Command Line Tool for easily creating GitHub Repos



Random

Learning by helping

Over the past year, I’ve been learning Elm. I did the usual things when learning a new language:


Developing iOS 10 Apps with Swift - Stanford CS193P

Stanford Engineering courses by Iagan Hariman.

iTunes link is here.


From APIs to IPAs. A Japanese Developer in Berlin.

“I am a curious developer. I like to understand what’s going on in the libraries and frameworks that I use,” says Shuhei Kagawa, a full stack developer from Tokyo who recently moved to Berlin after finding a job through Honeypot.

I just found an interesting interview post.


Adapting to change

writing code that is easy to change, code that is malleable. It’s like creating adaptive user interfaces but for all of your classes, modules, and other components.


Refactoring Slow and Steady

I’ve been talking with folks on a Slack about refactoring today, and I thought I’d put some of my thoughts here. Maybe a little less polished than I’d like, but I wanted to get them out of my head and down on “paper.”


How to Skim a Pull Request

We review quite a few code diffs; it is our job. Often, when jumping on a new project, we start by reviewing pull requests.

I need Swift version!


Mobile App Testing — Tips and Tricks

Our new article is in fact a list of tips and tricks. These tips will help beginners to progress faster while more experienced users will be able to streamline what they know. The article will also be useful for developers, product and project managers, and for anyone who would like to improve both product quality and inter-departmental relations.

Good summary of mobile app testing!


REVERSE ENGINEERING STICKIES.APP

Recently I have discovered the nice Stickies app that comes along with OS X. This is exactly what I needed for making quick notes while watching lectures or during debug sessions.

Github repo called ModernStickies is here.


FunctionAsObject

But if you have a language with first-class functions and closures, you can use these constructs to create objects using the Function As Object pattern (originally described by Eugene Wallingford).


Accessible Resistance

Accessibility in software refers to the noble ambition of ensuring that software is usable by as diverse a user base as possible. To that end, software is made more accessible by adapting to a variety of physical or cognitive impairments that may affect any individual user.


How to make a build automatically available to your boss

Everybody works differently but chances are that you’re used to this demand because it happens everyday. It may not be your boss though. Sometimes it’s a Quality Assurance Engineer who needs to see if a bug has been fixed. Sometimes it’s your Project Manager. At every company there is always one person in charge of those demands. Don’t be that person. Today I’m going to show you a way of making a build automatically available for your boss to install.



Podcast

40: John Sundell - Creator of SwiftPlate

Formerly an iOS Enginner at Spotify, John now works as an iOS Engineer at Hyper. He’s the creator of SwordsArrows, as well the creator of many great open source projects (See links).


17. Testing your Network Layer

This week, Chris and Soroush discuss different approaches to testing your network layer.


Episode 130 – Like a Russian Nesting Doll

130-iphone-comp Episode 130 – Like a Russian Nesting Doll 1 Reply This week are joined by Greg Heo as we wade into RxSwift. We follow up on upgrading to 64-bit apps. We discuss the possibility of an OLED screen coming to the 8th iPhone model. Greg brings up the preferred software languages of weekend developers. We discuss where to define a notification? We watch Greg dance around as we quiz him on RxSwift*. Picks: Editing your macOS Dictionary, Apple’s deep learning frameworks: BNNS vs. Metal CNN, Swift Summit 2016 videos are being released! and what goes into an advance iOS/Swift course.


There are not Podcast but interesting!

Working on Ink - iOS by Sam Soffes

Working on a side project. Connecting the iOS app to the server stuff.


whatever by Sam Soffes



Cult of the Party Parrot :scream:

I read Things You Should Never Do, Part I by Joel on Software. It reminds me of an important mind as an application developer.

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