Redux is hugely widespread as the architecture for React and React-Native projects. Its decoupled nature combined with immutability ensures a truly functional application, when used correctly. Yes, that’s all true.

Redux starts to sound weird when we try to figure out where actions may be used. Specially when your project has wrappers and HOCs, which might mean actions definitions may not be where they’re actually used.

Building a production-ready fully architectured React-Native app means sending and updating lots of props to your components. This means the shouldUpdate -> render -> didUpdate flow gets called a lot. Here are a few steps on how to optimize your components to avoid rerendering unnecessarily.

As frameworks improves, as our knowledge of it, we should leave our prejudices in the past. It is without question that AutoLayout has become much beloved and necessary as it moves forward. Its API has improved so drastically as to discard the need for third-party libraries.

However, as far as AutoLayout has progressed, it may still be simpler to handle frames in some cases. But how to join both worlds without colliding them and throwing a bunch of warnings in your console? Or worst: in your IB…

Fork me on GitHub

One of these days I needed a debounce on Swift to ensure some block of code would only be executed once in a period of time. Debounces are quite simple so I implemented a first draft of it.

Not long after that, I also needed a throttle to skip repetitive calls to a different block of code. Not too different from a debouce, but not quite the same.

When creating custom animations for view controller transitions, it is recommended to use snapshots of the views being animated. However, UIKit doesn’t always make things crystal clear.

If you find yourself with broken autolayout or views incorrectly configured after enabling your transition, try creating the snapshots after adding your view to containerView.