Knockout.js 1.2.0 released
Earlier today I published the final 1.2.0 build of knockout.js. This is a big release with stacks of new goodness since 1.1.2:
- Changed the license to MIT (more permissive than the previous license, MS-PL)
- Added useful new bindings: event, attr, html
- Enhanced some existing bindings: options, checked
- Enhanced templating features (now supports jquery.tmpl 1.0.0pre as well as previous versions, template polymorphism, passing additional data via options)
- Various performance improvements (e.g., now precompiles and caches templates, and ensures all data/subscriptions associated with DOM elements are cleaned immediately when those elements are removed) plus bugfixes
- Better compilation style (ensures Closure Compiler no longer adds any extra variables to global namespace)
- Various new extensibility points requested by plugin authors
- Minor syntactical improvements (e.g., added zero-arg constructor for observable arrays)
- All documentation updated to match 1.2.0
Thanks very much to the many people who have contributed ideas, pull requests, bug reports, and support to make this release possible! I’m really enjoying the community that’s growing around this.
Hang on, what’s Knockout.js?
In case you’ve never heard of it, here’s tekmaven’s explaination:
(By the way, for Visual Studio developers: Install-Package knockoutjs)
More specifically, Knockout is a JavaScript library for building rich, responsive user interfaces. It uses automatic dependency tracking and declarative bindings to update your UI whenever your data model changes, letting you cleanly structure your code around the MVVM pattern.
No, that’s just marketing blather… show me something real
OK then, to learn more:
- See the live examples on knockoutjs.com
- See my original introductory post or the tutorial for using it with ASP.NET MVC (note: it works with any other server-side technology too, as it’s just a JavaScript library)
- Get advanced hints and techniques from Ryan Niemeyer’s site, knockmeout.net (special kudos to Ryan, a.k.a. rpn, for his truly amazing support efforts on the forum!)
- Watch this fast-paced introduction presented at MIX 2011: <div>
</div>