https://github.com/mdiep/noblecocoa
A riff on github/ReactiveCocoa that explores what's possible using plain Cocoa
https://github.com/mdiep/noblecocoa
Last synced: 3 days ago
JSON representation
A riff on github/ReactiveCocoa that explores what's possible using plain Cocoa
- Host: GitHub
- URL: https://github.com/mdiep/noblecocoa
- Owner: mdiep
- Created: 2012-12-30T01:48:37.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-09T02:59:32.000Z (over 12 years ago)
- Last Synced: 2025-04-29T09:57:53.397Z (3 days ago)
- Language: Objective-C
- Homepage:
- Size: 129 KB
- Stars: 17
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NobleCocoa
A riff on [ReactiveCocoa][] that explores what's possible using plain Cocoa.## What's with the name?
1. The last column in the periodic table is made up of 6 elements that are known as the _noble gases_ due to their low reactivity. This seemed like a good contrast to [ReactiveCocoa][].
2. _Noble_ seems like a good adjective to describe Cocoa, which is an excellent development platform.## What's it all about?
[ReactiveCocoa][] combines a number of elements in a single framework:1. A implementation of bindings (which are absent on iOS)
2. A layer on top of KVO
3. A method for reducing state in Cocoa and Cocoa Touch apps(That's not an exhaustive list. But this isn't the place for such a list.)
As I learned about [ReactiveCocoa][] and some of the ideas that it's based on, I thought about how to minimize state in a Cocoa application without RAC. I realized that the basics could by achieved through KVO's [dependent keys][].
This is an example application, loosely based on joshaber's [RACSignupDemo][]. It uses KVO and bindings to perform some of the same work while minimizing state.
## Why do this?
1. To explore the limits of Cocoa
2. To explore what [ReactiveCocoa][] provides and how it's different than standard Cocoa.
3. To explore how to minimize state in apps that don't use [ReactiveCocoa][].[ReactiveCocoa]: https://github.com/github/ReactiveCocoa
[dependent keys]: http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueObserving/Articles/KVODependentKeys.html
[RACSignupDemo]: https://github.com/joshaber/RACSignupDemo