Libraries with resources optimized for build time and application size
When you have a large code base more often than not you end up with your code broken down into multiple frameworks. But when it comes to…
Ilya Puchka Blog
When you have a large code base more often than not you end up with your code broken down into multiple frameworks. But when it comes to…
Property wrappers is one of the recent Swift proposals that have been welcomed probably the most by the community. To be fair though they…
Recently we were discussing in our team how to approach having fixes for bugs discovered during release both in release and the trunk branch…
Nowadays Slack, some kind of CI and often Fastlane are default tools in a toolset of iOS developers. These tools serve their own purposes…
Strings are everywhere. We all use strings everyday. In Swift String is a very powerful type. One of the features it had available since the…
Some time ago there was an explosion of articles and talks in the iOS community about "unidirectional flow" architectures, inspired by Redux…
This article is based on the talk I gave at iOS Astronauts meetup that was held on 03.10.2018 at Babylon. You can check out this talk and…
The title is a lie - there is no such thing as parameterized jobs (at the time of writing, but seems it’s going to be improved in 2.1) when…
One of the first tasks I got in my new team was to convert entire code base from in-house JSON encoding/decoding solution (in fact two of…
In previous part we started to write base components of URL parser. Time to extend it and add some additional functionality, like…
When I published one of my previous posts about deeplinks and then decided to turn it into a framework it turned out that Brandon Williams…
This is a short story of a regression in Swift 4 that I've recently had to deal with. It can seem as a simple problem, but I think it's a…
Very often in my practice deep links were something that no one cares much, they work somehow and its fine. Or there are just few of them…
In Swift enums are much more powerful than we got used to in other languages. One of the features that makes them more interesting to use is…
With Xcode 8 Apple finally provided developers with first party API to develop plugin-like Xcode extensions, at the same time closing all…
This week there were a lot of articles around the web about React Native and its place in a current iOS dev ecosystem. I was also playing…
As Roy Marmelstein said in his recent presentation at dotSwift - we love to be excited. Can not agree more. When we read a blog post that…
Textual content is the essential part of any app and text handling in iOS has been improving through last years. Starting with iOS 7 we have…
Every app has some kind of caching. Let's say our caching strategy is very simple: check if data is in the memory cache and return it if not…
It's already 2 years of Swift and its interoperability with Objective-C as well. When app extensions were released we've got a way to share…
One of the strategies that we use at HelloFresh to reduce compile time, improve code reuse and overall codebase health is breaking our code…
Recently I came across an article by Max Howell describing how he had setup PromiseKit project to use just a single target instead of a…
This post is a part of the series about shapes recognition. This post is also available as a part of a playground. When drawing by hand…
This post is a part of the series about shapes recognition. This post is also available as a part of a playground. Naive implementation of…
This post is a script of the talk that I've made on UIKonf'16. That was a first time for me to present on such a big conference and honestly…
There were few times already when I used this little-known feature of Swift in real code and it improved (in my opinion) readability a lot…
Today I was working on simple validators that we use for forms (backed by awesome Eureka) and had to implement validator that validates…
I definitely agree with those who say that you should not depend on code from external source (meaning where and how it is hosted). You…
OS X developers are kind of rare developer species. I don't know about you but among my fellow developers there is only one who is doing OS…
TL;DR - You can play with source code and example project here. Storyboards segues are very cool. They are very easy yet powerful. They help…
In Objective-C it's very natural to have a property of type that also conforms to one or few protocols. In Swift that becomes tedious cause…
Note (15.04.16): This post is updated to reflect some of the latest changes in Dip. In some of my previous posts I wrote about using…
Note (15.04.16): This post is updated to reflect some of the latest changes in Dip. In my previous post I wrote about Dip, lightweight IoC…
Note (15.04.16): This post is updated to reflect some of the latest changes in Dip. In my previous post I talked about dependency injection…
In my previous post I described how you can break business and presentation logic in small PONSO's to achieve better separation of concerns…
In previous post I showed how you can move some presentation logic from view controller to view. Now view controller is responsible only for…
In my previous post you could see that I've used ColorTheme and ThemedView protocol to easily customize view appearance. Though that…
"Massive view controller" is one of the most favorite topic for iOS developers when they talk about architecture. A lot have been said on…
When it comes to dependency management in Cocoa world you have three options: Cocoapods Carthage Don's use dependency management First one…
Recently I've updated my post on how you can implement lightweight networking in Objective-C. Now it's time to look at the same problem from…
AFNetworking is the most popular networking library for iOS. Chances are high that it's the first pod you add to your Podfile. It's used as…
Here is a small presentation that I've made about two weeks ago for our Wire team that provides some overview of Sync Engine testing (by…
This year I was lucky enougth to go to WWDC as part of Wire team. For me the most exciting stuff Apple introduced this year was Swift 2. I…
or What Swift Language Guide do not tell you. This post contains the list of interesting features of Swift that I find while using it. To…
In this article I want to describe how I developed custom UITextView component in Swift using TextKit, Playgrounds and IBDesignable and…
Probably lately you've seen few posts on this subject like this or that. Both of described techiques share the same secret - how playground…
This is quiet interesting XCode feature I was not aware of until last week. Maybe you will find it not so interesting and definitely will…
Recently here at Rambler&Co mobile team we decided to try technique of storyboards segregation (separation in other words). We came to the…