Happy new year :confetti_ball: This is the #6 article and the first article in 2017. Don’t forget to look back on your goal in 2017. Some people say that to put your goal on desktop wallpaper works well. I’ll do like this :+1:

I started to use Danger for my personal project. This is my bot for Danger called pz-bot. Cool!



Article

Protocols are more than Bags of Syntax

Someone pitched the idea to add a protocol named DefaultConstructible to the Swift standard library whose only requirement would be a parameter-less initializer

Discussion on DefaultConstructible.


Why I Prefer Protocol-Oriented-Programming in Objective-C to Swift

at least at this writing at the end of 2016, I still run into problems when I use this style of programming in Swift. Here’s the problem I’m trying to solve:

problems between Swift and Objective-C.


Three Quick Tips

Three quick tips before the new year.

He mentions

  • Stop Using &&
  • Give Modules Distinct Names
  • Dealing with Non-distinct Modules

I like the first tip of them.


Extending Swift generic types

Generic Swift types such as Array or Dictionary can be easily extended to provide methods to specific types by making their associated type(s) either conform to a protocol or inherit from a class

If you’d like to create highly reusable and strongly type functions that only work for the type you expect, see this article.


Getting Started with PromiseKit

Asynchronous programming can be a real pain in the lemon. Unless you’re extremely careful, it can easily result in humongous delegates, messy completion handlers and long nights debugging code! Lucky for you, there’s a better way: promises. Promises tame asynchronicity by letting you write code as a series of actions based on events. This works especially well for actions that must occur in a certain order. In this PromiseKit tutorial, you’ll learn how to use the third party PromiseKit to clean up your asynchronous code, and your sanity.

A person who creates PromiseKit is also famous for a creator of Homebrew.



Slide

Beyond Crusty: Real-World Protocols

Apple has declared Swift as the first Protocol Oriented language. If you’ve tried to write protocol oriented code, you may have discovered that the promise isn’t quite the reality. In this talk, you’ll learn to rethink your types to avoid protocol problems without giving up their power.



Github

These are not new libraries, but I’d like dig into them.

philackm/Scrollable-GraphView

An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift.

RACCommunity/racurated

Curated list of ReactiveCocoa projects. https://raccommunity.github.io/racura…

lkzhao/Hero

Supercharged transition engine for iOS.



Random

I have tons of Random article that I want to share. Pick them up if you like some.

Craft and Tooling

But keep in mind that it took skill to do so – skills acquired with better tools. The longer you’ve been working in a field, the less tools will matter to you. Just be aware of your bias when your talking to beginners and you’ll do great!


FAVORITE THINGS from katiefloyd.com

I’m regularly asked about the tools I use so I’ve compiled this list of some of my favorite things, everything from network attached storage to leaf blowers. You can find a random collection below, most of the links are to Amazon or to the App store


Code is Prose

I first saw the phrase “Code is poetry” pop up on websites and in conversations about the craft of software development in the early 2000s. Popularized by the Wordpress project, the idea that programming and poetry are similar forms has been the subject of Quora questions, as well as pieces in WIRED, Torque, and Smashing Magazine.



Podcast

There are not many episodes for holidays…

Episode 124 – AllowsArbitraryLoads

This week we follow up on building Apple Watch apps to aid seniors in trouble, Google Home coming to Canada and configuring Amazon Echo to work in Canada. Jaime tells us about the latest digital assistant from Japan. Tim talks about working with HomeKit, Siri and using Homebridge. We close off the follow up with parking your Tesla with Alexa and Uber’s self driving car program ends.


11. Codegen from Fatal Error

To kick off this season of Fatal Error, Chris and Soroush discuss code generation in Swift: what, why, and how?

From this episode, they started a Patreon supporter.



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