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

About Jesse Liberty

Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen online courses. His latest book, Building APIs with .NET will be released early in 2025. Liberty is a Senior SW Engineer for CNH and he was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Microsoft MVP.
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

Comments are closed.