Once you get over the initial shock, Reactive Programming can actually be a much simpler way of programming complex applications than the traditional imperative style, and Rx - one major spec - is quickly becoming mainstream, not just in Swift but in many languages today. So what is Rx, when might you use it, and how can you get started?