(This repository is part of a Flatiron meetup. You've missed the date! But you should still check out this repo. Anyway. Here's a slice of history.)
~ (/¯◡ ‿ ◡)/¯ ~
Dear Internet,
This is a repository for a presentation Hao Lian and Ian Henry like to give about ReactiveCocoa and, more importantly, reactive programming.
First, we'll just talk at you:
- Key-value observation: the worst thing ever?
- ReactiveCocoa: ostensibly a better KVO, but actually so much more
RACSignal
for subscribing andRACSubject
for pushing: friends, hand in hand
We expect to run through these topics very quickly because we want to get to the interactive portion of the talk.
Then! We'd like everybody to clone the GitHub repository. Everybody will begin with a boring single-user chess board but leave with a working WebSockets-powered multiplayer chess game. We'll cover:
- Signals and views: experience the future of programming in one line of code
take
andequals
: simple combinators, but enough to implement a networking state machine- Drag and drop: yes, this too can be done with ReactiveCocoa
- If we have time, we'll find a security exploit in a poorly-written random number generator with ReactiveCocoa and use it to win the game
Along the way we'll pepper in what we've learned from using ReactiveCocoa in production. Ian and I are huge RAC fans, and we'd love people to start using it. It turns ObjC programming from a hassle into a castle. Trillions of Trello iOS users run ReactiveCocoa every day, and we'll talk about
- Debugging
- Performance
- Memory management
- Having fun
- Reactifying table views
- Why MVC is broken and what you should use instead
- Implementing a REST client with ReactiveCocoa
- The mathematics behind reactive programming
- The history of ReactiveCocoa
- How to program a chess server in Haskell
- Ten more things
[Some of these things we might not get to.]
Sincerely, Hao and Ian.