Microsoft held its annual web development focused conference MIX in Las Vegas last week. Although Windows Phone development was the hot topic, there were also a number of great talks on web development topics (especially JavaScript). I’ve compiled a list of the most interesting ones to me. Enjoy!

JavaScript: The Language

Great talk from Luke Hoban on basics of JavaScript including dynamic typing, objects, functions, and prototypical inheritance. Hoban did a great job explaining how prototype chains work, how functions are implemented, how closures work, etc.

Good JavaScript Habits for C# Developers

Elijah Manor spoke about common mistakes C# (and Java) developers make when working with JavaScript. There is a lot of great stuff here, here are some highlights:

ECMAScript 5: The New Parts

Great talk from Doug Crockford on what’s new in JavaScript 5. It looks like the updated standard takes most (if not all) of the complaints Crockford had about ECMAScript 3 and addresses them with the new ‘use strict’ option (very similar to VB’s Option Explicit).

The most notable new parts:

Reactive Extensions for JavaScript (RxJS)

Bart De Smet did a talk on RxJS, which is a library for processing events in JavaScript. Rx uses concepts of observable sequences and observers to implement a common interface for handling asynchronous events from multiple sources by multiple consumers.

You can do really complex things quite easily with this library. For example, you can process a stream of events by applying filtering to it with a simple, fluent interface.

By the way, this presentation has one of the coolest uses of PowerPoint I’ve ever seen: Visual Studio “debugger” mode. Well done!

Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NET

Steve Sanderson presented a really cool JavaScript library called Knockout JS. Knockout implements the MVVM model in the browser: it allows you to bind HTML elements to a Model (which is just a JavaScript object you define) and it then updates those elements when the model changes.

The magical part is that the updates are automatic. As in, Knockout automatically tracks dependencies between display elements and properties in your model. It can also do many more awesome things, like iterate through a collection of items associated to an object declaratively (without writing code).

Making Better Web Apps For Today’s Browsers

In his talk, James Mickens from Microsoft Research presented two really interesting frameworks called Silo and Footprints (formerly Mugshot).

Silo uses JavaScript and HTML 5’s local storage to drastically reduce the number of round trips (RTTs) the browser needs to make to the server to retrieve all of the resources (scripts, css files, html) required by the page. Mickens reported that for some sites it can reduce load times by 30-40% if the user has cold cache.

Footprints uses JavaScript to intercept and record all “non-deterministic” events (mouse clicks, date values, ajax calls, etc) that occur when the user interacts with the page. You can then replay those events and actually see what was happening during the session. It’s essentially IntelliTrace for the browser and could be a really nice debugging tool.

Interactive Panel: JavaScript

A panel of JavaScript ninjas (Allen Wirfs-Brock, Doug Crockford, Luke Hoban, Tomasz Jansczuk) discussed JavaScript’s current  state and future directions. A few interesting tidbits:

 

Fonts, Form and Function: A Primer on Digital Typography

Not directly related to web development, but a great (and beautifully put together) presentation from Robby Ingebretsen of Pixel Lab on typography basics.

 

 

* You can find all of the videos from the event here.

You may also like:

tagged with:

Did you love / hate / were unmoved by this post?
Then show your support / disgust / indifference by following me on Twitter!

Leave a Reply