Functional reactive programming is now natively supported with the Combine framework. The main challenge is to change the way you deal with data. Thinking in data streams is a big shift in the programming mindset.
Combine is built in a modular pattern.
- Publishers: the someone who injects new values into the steam
- Operators: modules that can transform or filter passing values
- Subscribers: the someone who asks for values, which from there can be stored in properties or used to show on the user interface