- Frozen Canuck’s SproutCore Posts
- Lebowski Framework Posts
- Great External SproutCore Posts
- Helpful SproutCore Quick Tips
You can find all my posts about the SproutCore Framework below.
Quick Tutorial Note: Due to changes in SproutCore, the english.lproj directory no longer exists after running sc-init; it has been replaced with the resources directory. You can still add the english.lproj or any .lproj folder to your application to handle localization.
- SproutCore: Statecharts vs Controllers
- Ki: Concurrent States and the Pivot State Error — What To Do?
- Ki: Just Got Better
- SproutCore: Making Use of Delegation
- Why Does SproutCore Have a Run Loop and When Does It Execute?
- SproutCore Interview with Michael Harris (Sudoku)
- SproutCore Interview with Matt Grantham and Ryan Mudryk
- So Just Exactly How Does SproutCore’s String Localization Work?
- Sudoku Game Built With SproutCore
- SproutCore Path Picker Tool
- JavaScript: It’s Grown Up to be Taken Seriously – This started out as a simple post about JSConf 2010, but it ended up generating an interesting discussion about the differences (and similarities) between SproutCore, Cappuccino, and even Qooxdoo. Go figure.
- Simulating Events in SproutCore
- Why Does SproutCore Use Absolute Positioning to Layout Views?
- Fun with SproutCore String Localization
- Creating a Simple Custom List Item View
- In SproutCore a Single Click is a Mouse Down and then a Mouse Up
- Making Sense of SproutCore’s Key-Value-Observing (KVO) and Bindings
- Part 1: Theory is as Theory Does
- Part 2: Minding Your Ks, Vs and Os
- Part 3: The World is Nothing but a Bowl of Bindings
- Part 4: Deeper Into the Binding Abyss We Go
- Part 5: The Long Journey Home to propertyBinding
- Formatting a String in SproutCore with String.fmt()
- Creating a Simple Custom View in SproutCore: Part 1 (with update)
- Creating a Simple Custom View in SproutCore: Part 2 (with update)
- Simple Positioning of Views in SproutCore
- Connecting Views to Model Object
Posts related to the Lebowski framework:
- Lebowski Presentation Now Online
- Lebowski Framework v0.2.0 Released
- Why Lebowski Framework Fails Using Internet Explorer
- Introducing Lebowski: A Test Automation Framework for SproutCore
Here are some other great external posts about SproutCore that are definitely worth checking out:
- Sproutcore MVC VS Rails MVC
- (Unit) Testing Your Sproutcore Views
- Using the Sproutcore Master Branch
- BDD in Sproutcore
- SproutCore vs. Cappuccino
- Mobile web application framework match-up, Part 1: Build mobile applications with SproutCore
- Creating a ‘Hello World’ Sproutcore application for OpenSocial
- Custom ListView with Reordering
- Sproutcore Run Loop
- Tree Lists : Real easy with Sproutcore
- Sproutcore and DataSource – my take (part 1)
- Sproutcore and NodeJS are stars and comets
- Automatic Resizing in SproutCore
- Nested Records in Sproutcore
- Monkey Patching SproutCore with Mixins
- Building Sproutcore Apps with Statecharts (part 1)
- Building Sproutcore Apps with Statecharts (part 2)
- Bindings Unleashed
- Composite Views
- Root Controller Paradigm
- Basic View API (part 1)
- Basic View API (part 2)
- Nifty Trick with Root Controller Paradigm
- The Delegate Pattern (part 1)
- CollectionView Delegation (pt. 1) [CollectionRowDelegate]
- Event Handling in SproutCore 1.0 – Part 1
- Event Handling in SproutCore 1.0 – Part 2 – Dragging a View
- Aspect-Oriented Programming and You
- Alternate row colors in SC.ListViews
- What server does SproutCore run on?
- SproutCore – The DataStore
- SproutCore: Introduction (in French)
Helpful SproutCore Quick Tips:
- Always use
SC.none()to test for null/undefined values. For example, (“” == false) is true in JavaScript (via martoche) - Don’t forget to call
awake()to synchronise the bindings after youappend()a pane (via martoche) - Views are rendered lazily once they are added to the screen
automatically as part of the runloop. You should never callrender()
yourself. If you need to make a view re-render, you can call
view.displayDidChange(). This will schedule the view to re-render (via Charles Jolley) - Dynamic properties are pretty cool, they are done by implementing the
unknownPropertymethod. (via martoche)