I had a wonderful time at ThatConference this week. It was really special to be in a place with so many people that are passionate about the same types of things that I am. I also had the pleasure of giving a talk about Knockout. The session mainly focused on the various extensibility points in Knockout. After reviewing some Knockout basics, I discussed extending observables, creating custom bindings, and the idea of binding providers.
For the presentation, I knew that I wanted to show a lot of code, but I was not too excited about continually flipping between a slide show, an IDE, and a browser. So, I decided to create a slideshow from scratch with Knockout that let me combine all three pieces into a single page app. It was quite a bit of work, but it was a fun experience overall.
Here is a screencast of the presentation:
Extending Knockout.js - 08/14/2012 - ThatConference
For creating the presentation app, I used these libraries:
- Knockout
- require.js & the text plugin - for managing dependencies and dynamically loading view models, templates, and code samples.
- CodeMirror - for the code editor
- jQuery - just for some animations
- jqPlumb - for drawing lines between two elements
Here is a repository with a heavily stripped down version of the app that I created for this presentation https://github.com/rniemeyer/SamplePresentation.
The binding provider sample implementation is also available here https://github.com/rniemeyer/knockout-classBindingProvider.
I would love to hear any feedback on the presentation. Also, I was thinking about the possibility of recording some short (< 10 minutes) screencasts on various Knockout topics. Would there be any interest in something like that?