Example
The contact firstName property is bound to the
textFieldView value property.
When the contact’s firstName is updated,
textFieldView’s value is updated automatically.
When textFieldView’s value changes, the
valueDidChange observer kicks in & updates the UI.
Key Value Coding
Access properties with object.get(key)
Set properties with object.set(key, value);
This allows SproutCore to watch things change
Abbreviated as “KVC”
Key Value Observing
Allows Object A to observe changes to Object B
How binding is able to work
Abbreviated as KVO
Automatic for stored (non-computed) properties
Requires a little setup for computed properties...
Generators
Generate skeletons for your application, models, views,
controllers
Helps you get started quickly
Gives you a standard place to put things
Helpers
Generate your views with small, declarative helpers
Similar to Ruby on Rails view helpers
In fact, written in Ruby!
Development Server
Handles including JS files and view partials into your
HTML file - less work for you.
Allows change-and-refresh style development
Can proxy to external website backends for server
interaction.
Build Tools
Packages all assets into single files - 1 HTML, 1 CSS, 1
JavaScript.
Minifies your JavaScript
Host your app on any server or CDN - just static files