Greg Heo

RxSwift @ NSMeetup

So you want to be a reactive programming beginner?

As someone formerly in the training business, I’m often thinking about the best way to explain things. Something I really enjoy doing is attending talks from beginners — it’s always interesting to hear something you already know (or think you already know!) explained by someone coming into it with fresh eyes.

I started looking into reactive programming and RxSwift late last year, and now it was my turn to be the noob explaining something at a meetup.

Reactive programming is one more thing in the development toolbox. It’s not necessarily something that takes over an entire project; you can use reactive programming elements in just parts of an application if you want.

What are the big ideas of reactive programming? We can turn to Wikipedia for the answer:

Thinking about your app in terms of data — what’s coming in, what’s going out, how do you manage it going from one place to the other — is the core of it for me. Then it’s a matter of pretending you’re a series of tubes, like the Internet, to manage, tranform, and push the data along.

Resources

For the talk, I used a simple app where you provide the angles, and it draws triangles.

You can see the code from the demo on GitHub; there’s one folder with the classic Cocoa UIKit version, and one with the RxSwift version coded up during the talk.

Here are the slides:

And finally, if you’re interested in reading more there are a ton of places to look:

I really enjoy the data flow model and declarative nature of Rx, and I hope to continue poking around and learning. Happy reactive programming adventures to you!