Think & Build


What’s up with ThinkAndBuild?

Hello Guys! how are you all doing? I’ve recently received emails asking about the blog and its future, so I decided it was time to explain here what I’m working on and why I’m no longer writing on It’s been a long time since the last article — 2 years! — and to me [...]


VIPER-S: writing your own architecture and understand its importance (part 3)

It the previous two articles we saw how to setup and implement VIPER-S. In the third and last of the series we will be focusing on sharing information between modules and testing. Sharing data between modules Passing information between modules is a crucial task, and our architecture should be able to take care of it [...]


VIPER-S: writing your own architecture to understand its importance (part 2)

In the previous article we introduced VIPER-S, with an overview of its Domains and Roles, we organized our modules with folders and we started writing the contract for the “ItemsList” module. With this new article we’ll complete the architecture by implementing the Actors. An Actor is the entity responsible for the implementation of all the [...]


VIPER-S: writing your own architecture to understand its importance (part 1)

After some months using VIPER for my apps, I started working on my own architecture: I wanted to create something better for my own needs. I then started sharing thoughts with my colleague Marco. He is on the Android side of things, but we needed to discuss to find common ground and both get to [...]


Custom Controls: button action with confirmation through 3D Touch

3D touch is the ability to track user’s touch pressure level and, in my opinion, is one of the most interesting and unexploited feature of iOS touch handling system. With this tutorial we are going to build a custom button that leverages on 3D touch to ask user to confirm button action and, if 3D [...]