Yet Another Podcast #60–Knockout.js

Talking with Steve Sanderson, John Papa and Jon Galloway about Knockout.jsJonGallowaySteve Sanderson portrait John Papaand client side JavaScript programming.

Listen | Yet Another Podcast

Call in comments: 1-347-YAP-CAST

rssiTunesalt

Share

About Jesse Liberty

Jesse Liberty is a Master Consultant for Falafel Software, and has three decades of experience writing and delivering software projects. He is the author of 2 dozen books and multiple Pluralsight courses, and has been a Technical Evangelist for Telerik and for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS.
This entry was posted in Essentials, JavaScript, Languages, MVVM, Patterns & Skills, Podcast and tagged . Bookmark the permalink.

2 Responses to Yet Another Podcast #60–Knockout.js

  1. John Papa compared KnockoutJS to XAML data binding, but he mentioned that his comparison wasn’t quite accurate. The thing that XAML data binding is missing is dependency tracking. XAML uses change notification, which is completely manual. When FirstName changes, you have to write code to notify XAML that FullName has changed.

    I’ve been doing dependency tracking for many years. I’ve recently started a project called KnockoutCS to bring KnockoutJS-style dependency tracking to XAML. Here’s what I have working:


    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
    dynamic model = KO.Observable(new Model());
    DataContext = KO.ApplyBindings(model, new
    {
    FullName = KO.Computed(() => model.FirstName + " " + model.LastName)
    });
    }

    Where the model is simply:

    public class Model
    {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    }

    Much easier than INotifyPropertyChanged.

  2. manuel says:

    Is there a reason that i cant download this podcast via zune from switzerland?

    cheers

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>