Logging in Swift


Logging is one of the rare cases when you could probably justify having a singleton, but with Swift Protocol Extension you don’t need to.

Let’s integrate Logging in a way that:

  • Doesn’t cause 3rd party dependencies to leak across your codebase
  • Hides the existence of singleton from the codebase
  • Supports writing fully testable code
  • Ability to suppress logs from specific modules or classes

iOS Architecture


I recently did a talk in Prague about iOS Application Architecture, you can watch it here.

8 Books that everyone should read


Looking for new books to read?

Programming


What is programming?

For me it has always been about solving problems, and analytical thinking.

Does it matter what language or platform you solve problems on? How do you learn more on your selected platform?

Improve your iOS Architecture with FlowControllers


When working on iOS app, now more than ever one should avoid having view controllers pushing other view controllers around.

Why?

Little things that can make your life easier in 2016


As we are closing this year, let’s take a look at few simple things you can add to your iOS developer toolbox to make your life easier and be more productive in 2016.

Details matter - harnessing the power of Core Animation


A friend showed me animations from Stripe Checkout and asked: “how could we implement that on iOS?”

Quite simply, Core Animation is very powerful and if one learns how to harness that power, they do not need write a lot of code.

Writing Xcode plugin in Swift


I’ve found myself using Xcode a lot more than I did in Objective-C.

One of things I’ve missed a lot from my AppCode setup, is the ability to jump to specific file & line that logged a console message.

Because Xcode doesn’t offer such functionality and because I do not like to complain, I’ve decided to write my own plugin for it.

I wrote it in Swift.

The beauty of imperfection


Perfection is not something one can truly achieve, so it’s very smart that one of the best meditation services called Headspace is using an imperfect dot as their brand logo.

If you ever used their iOS app, you can notice how their dot slightly deforms, captivating your focus.

When it comes to graphics, if you are able to cheat (if user can’t tell the difference) and make tech stuff easier, just do it.

Swift init()


With Swift strong typing and immutability, there are rules that prevent you from accesing variables until an object is fully initialized.

I do not like having a function do more than one thing, so I like to split my initializers into multiple functions, this becomes problematic.