This is a story of adding a button in the app I’m currently working on. My previous post was about adding a picker control in the same app.

So, the app is very basic, but is full of custom visual effects that take the most time to implement.

I am currently working on an app that doesn’t have a lot of features, but is full of custom user interactions and visual effects.

When we bought our house the garden was not our favorite part of it. And with all the renovations going on this is how it looked most of the time:

UIView animations are a very powerful tool and you can achieve some great results. At the same time they are very easy to use.

So, for one of our apps we wanted to show a nice unlock animation after a user has patiently watched an interstitial ad. Something not very distracting, some sort of visual reward and also an indication that something is happening. Designer came out with a nice padlock opening animation.

This blog post is just some personal experience after finishing my first project in Viper. If you haven’t heard of Viper and clean architecture before, you should definetely watch this video:

It’s not like we didn’t use some good practices in our projects before. We already split responsibilities, we did TDD, we used dependency injection a lot. Somehow it all didn’t help much when you open the code several months later or a new person would come to a project. …

Testable code is great. It makes your life easier even if you don’t actually write any unit tests. You get a modular structure that is easy to maintain and refactor. Using singletons all over the place is something that testable code isn’t. We often hear people agreeing on that, but then they come up with a “delegate hell” argument.

I need to send some data all the way through the multiple layers in my application. Do you suggest me to inject it to all those objects or to use a dozen of chained delegate calls? Ugh!

Well, lets take a…

Maria Postupaeva

Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store