As a native iOS developer, I’ve been jealous of web developers who can use design systems in their everyday workflow. The ability to look through the library and copy the code of a component can increase the development speed.

Let’s compare how the radio button is described for web and mobile on the Shopify’s design system called Polaris. As we can see, the code snippet is provided for the web, unlike iOS or Android, where you can find just images of the representation.

Usually, iOS developers implement typography, colors, imagery, simple components like buttons and switches, and that’s it. UIKit…


Changing the way how rescuers search for missing people

“To make the world a better place“ — how often did you hear that from companies and startups?

There are way too many entrepreneurs who say that, but are they really doing it? Or it’s just a buzzword to get your attention and sound good for the public?

I want to share a story how a small, local Latvian IT company created a project that already helps to save people’s lives and changing the way how rescuers search for missing people.

Story Behind

In the summer of 2017, a five-year-old boy Ivan Berladin went missing in Liepaja. On the 10th day of…


Give iOS developer a table view and he will write 10+ implementations of how to handle cell actions.

As we are dealing with tables and collections quite often in Chili Labs, I wanted to make a generic solution how we are going to handle cell actions in our projects.

The solution with cell configurators that was described in my previous article works pretty well. Thus it could be a good idea to take it as a base pattern.

First of all, let’s add TableDirector class that will store cell configurators and will be a delegate and a data source for…


iOS Developers spend most of their development time dealing with UITableView and UICollectionView. It’s quite straightforward when you need to display a list with the same data type, e.g., list of users. But what if you need to present a bunch of different cells in one table view? That can lead to a real mess!

Let’s imagine the following case. We need to display a feed with a different type of cells; it can be UserCell, CommentCell, ImageCell, etc.

The most obvious solution is to make if statements in method tableView(_:cellForRowAt:) and it can look as follows.

ViewModel:

Igor Nemenonok

Co-founder & iOS developer @ Chili Labs

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