Bright Devs Blog

PureLayout vs SnapKit - Great confrontation

PureLayout vs SnapKit - Great confrontation

iOS

At first, let me clear something out. I’m heavy PureLayout user. I’ve been creating my UIs in code for some time now and it’s not looking like I’m going back to Interface Builder any time soon. I’m not saying IB is bad, but it’s just not the way that I do things. I started working with PureLayout back in Objective-C days and I kept on using it in Swift as well. However, recently I’ve been interested in a framework called SnapKit, that offers a nice “swifty” way of building views in your application. This post is my way of getting into SnapKit. Below, you can find some UI examples, that I’ve written using both PureLayout and SnapKit.

PureLayout vs SnapKit - Great confrontation
ReactiveSwift - Manage your memory!

ReactiveSwift - Manage your memory!

iOS

Memory management is a pretty important issue when talking about any kind of system. You can’t pretend that your resources are unlimited, and give them out no matter what. When working with ReactiveSwift it’s really easy to fall into the pit of wasted resources if you don’t follow simple rules.

ReactiveSwift - Manage your memory!
My first Cocoapod created

My first Cocoapod created

iOS swift cocoapods

The first Cocoapod created

My first Cocoapod created
ReactiveCocoa UI bindings with Rex

ReactiveCocoa UI bindings with Rex

iOS

Today, we will take a closer look at Rex - ReactiveCocoa extensions. I find Rex pretty helpful when working with ReactiveCocoa, especially creating UI bindings.

ReactiveCocoa UI bindings with Rex
ReactiveCocoa 4 - CocoaActions

ReactiveCocoa 4 - CocoaActions

iOS

CocoaAction is a wrapper around Action type that is available in ReactiveCocoa. (Here you can read more about Action). We use CocoaAction to bind our Actions to GUI controls. Let’s see a quick example of how it works.

ReactiveCocoa 4 - CocoaActions
ReactiveCocoa 4 - Action

ReactiveCocoa 4 - Action

iOS

Today I’ll tell you about an Action type that is available in ReactiveCocoa 4.

ReactiveCocoa 4 - Action
ReactiveCocoa 4 - Events

ReactiveCocoa 4 - Events

iOS

Understanding signal events in ReactiveCocoa is a must. We can’t effectively use signals and signal producers if we don’t know what will happen after certain event is received. We distinguish two kinds of events that you can send through signals - terminating and non-terminating. There are three kinds of terminating events: Failed, Interrupted, Completed, and one non-terminating - Next.

ReactiveCocoa 4 - Events
Open source by default

Open source by default

OpenSource

Using open source code in projects is a common thing. I do it. Most of us do. But what is “open source” by default? Well, I’ve heard about this for the first time at MCE Conf 2016 - “Open by default” panel. It’s an idea to make software open by default and close it only if needed. There are many reasons to close it of course, but sometimes we do it unnecessarily.

Open source by default
Creating an UIImage using ImageIdentifiers

Creating an UIImage using ImageIdentifiers

iOS swift

Hi! In my first post I want to share with you some cool tip which I watched in ‘Swift in Practice - Apple WWDC 2015’ Alex Migicovsky presentation about using UIImages in Swift project.

Creating an UIImage using ImageIdentifiers
A fast way to connect to the web proxy

A fast way to connect to the web proxy

android

Configuring Android device to connect to the web proxy running on development build machine is tedious. You have to make the same steps over and over again on every device you want to debug HTTP traffic.<br/ > It goes like this:

A fast way to connect to the web proxy