Thumbthing Writings by Bob Spryn, and Roderic Campbell, iOS Engineers and founders at Thumbworks

ReactiveCocoa and MVVM, an Introduction

MVC

Anyone who has been developing software for a decent length of time is familiar with MVC. It stands for Model View Controller, and is a proven pattern for organizing your code in complex application design. It’s also proven to have a second meaning in iOS development: Massive View Controller. It leaves a lot of developers scratching their heads as to how to keep their code nicely decoupled and organized. As a whole, iOS developers have come to the conclusion they need to slim down their view controllers, and further separate concerns; but how?

Read More

Why Reactive(Cocoa)?

When I started working with ReactiveCocoa (RAC) I had very little understanding of what the benefits might be, or what “composing and transforming streams of values” meant. I soon discovered that RAC was far more than another utility to incorporate into my normal style of programming. Instead, it is a framework that facilitates a very different programming paradigm. What I hope to do here is provide some insight on what I’ve learned, and why you should at least investigate the reactive style of programming. (There has been some fuss recently over the exact terms used to describe the “style” of programming found in ReactiveCocoa, but I still think “Reactive” is a pretty good term myself so I’m not going to shy away from it yet.)

Read More