As mentioned earlier, all of the Rx extensions look and behave the same way, and that's because each language implements the same patterns and operators in a language-specific idiomatic way.
There are also platform-specific extensions such as Cocoa and CocoaTouch, which means that you can develop in the language and platform of your choice, which will be the native Swift platform in this case. The Rx skills that you learn in this book are universal and portable to other languages and platforms, which means that teams working with cross-platforms are able to better coordinate using reactive extensions.
To deliver a unique user experience, they are unique to each platform while ensuring that common behaviors and business rules are consistently implemented across all platforms.
Rx offers a common set of operators as mentioned earlier in this chapter: To perform various tasks based on events in an asynchronous fashion, Rx typically implements two common patterns:
- A subject maintains a list of dependents called Observers, and it notifies them of changes. Notification center and KVO are also implementations of this observer pattern.
- Rx also implements the iterator pattern, which is how sequences can be traversed. If you have spent time with Swift, then you will have definitely worked with the iterator pattern while trying to traverse over sequences and collections. We are talking about the same things here and in fact, in Rx, Everything is a Sequence:

Pretty much everything is a sequence of data or events or something that operates on observable sequences. Note the term observable sequence; you will often read words like observable or sequence—these refer to the same thing. It's a sequence that's observable. We will refer to it as observable sequence throughout the book to help drive this point home.