Articles tagged with

12 Jan 2022

Shrinking the size of a monorepo

The source code of Allegro iOS app for buyers used to be divided into separate modules hosted in multiple repositories (polyrepo). The source code was migrated to a monorepo a few years back along with the history of all repos that constituted the app. Updating source code of a module on one repository could affect another module hosted on a separate repository. Versioning modules and propagation of dependency update led to long release process of the entire application. Our main repository for the iOS application thus became our monorepo. After 9 years of development of the app the repo size has grown enormously and the git clone command became a nightmare taking too much time. We had a possibility to shrink the project size during the migration from an on-premise to an external git repo hosting provider.

28 Dec 2020

Speeding up warm builds in Xcode

Programmers who have ever developed software for Apple platforms in the early days of Swift language might remember ridiculous times it took to compile the whole project. For large and complicated codebase times used to range from 10 up to 40 minutes. Over the years our toolset has improved alongside with compilation times, but slow build times of source code can still be a nightmare.

14 Jan 2015

A look at Swift functions

At the beginning of December we published our first post about Swift. Today we want to continue the Swift thread and introduce a few interesting facts about functions in Swift language.

03 Dec 2014

Quick introduction to Swift

Introduction of Swift programming language during WWDC 2014 was big news in developers’ world. The community warmly welcomed the language created by Apple and many developers started learning and using it immediately. This article explains what Swift is and its basic concepts. If you are an iOS (or OS X) developer it means that you probably already know all the things described below, but if you haven’t started your iOS development adventure yet (but you want to), this article could be a good introduction for you.