Practical TypeScript

Creating a Master/Detail Page with Backbone and TypeScript

There are two strategies for downloading multiple objects from your service with Backbone: The obvious one and the fast one. Peter implements the fast one.

Support Updates in a Page with TypeScript and Backbone

Peter extends his Backbone/Typescript application to support updating and deleting Customer objects. Along the way he discovers what looks like a bug in the way that Backbone and TypeScript work together.

Responding to Events with TypeScript and Backbone

Peter upgrades his Backbone/Typescript to respond to the event raised when the user selects an item in a dropdown list by retrieving related data from a Web API service.

Managing Your Page States with Backbone Routers

Peter turns the management of his single-page Backbone application over to Backbone itself by integrating Backbone Routers and Events. Plus: How to simplify your TypeScript code with longer namespaces.

Retrieving Data with Backbone and TypeScript

Peter creates an AJAX-enabled application using TypeScript with Backbone that talks to a Web API service. He also upgrades to the latest version of Backbone TypeScript support, causing several things to break -- but it does result in better, simpler code.

Rendering the Page with Backbone and TypeScript

Backbone provides an elegant way to encapsulate the code necessary to get your data and HTML onto the page. Peter shows how to make it work in TypeScript.

How To Build a Backbone Application with TypeScript, Part 1: Getting Started

Backbone is a popular library for creating MVC/MVVM-like applications in your client. Here's an introduction to Backbone and some best practices for creating a Single-Page Application with TypeScript.

Structuring and Loading TypeScript Modules

TypeScript provides native support both for organizing your application's client-side code into a set of modules, and for freeing you from having to manage the resulting script tags.

Creating a Client-Side Master-Detail Page in an AJAX App with TypeScript

Using Breeze and Knockout, you just need a few lines of TypeScript code to create a master/detail page that retrieves records from the server when it has to, but skips the trip to the server when it isn't necessary.

Implementing CRUD Activities in a TypeScript ViewModel

Peter adds client-side update, delete and insert support to an ASP.NET application using TypeScript. Along the way he shows how TypeScript interface support allows you to integrate your objects with JavaScript libraries in TypeScript 0.9.5.

Integrating the Client and the Server with TypeScript

Peter walks through a simple Web page that retrieves and updates data on the server to summarize his best practices for creating the client-side portion of an ASP.NET application.

Managing Client-Side Objects Using TypeScript: It's a Breeze

Once you've delivered server-side objects to your client, you're going to need to manage them. Here's how to integrate a powerful client-side (and server-side) object manager into your application using TypeScript.

Binding a TypeScript ViewModel to HTML Using Knockout

It's great building objects in TypeScript, but it isn't much good unless you can tie those objects into a Web page. Here's how to integrate TypeScript with Knockout (and a warning about where test driven development seems to stop).

Calling Web Services with TypeScript

Peter starts integrating a TypeScript client-side object with a server-side Web API service. Along the way, he looks at method overloading (not good), making JSON calls (good), testing asynchronous methods in Visual Studio (mostly good) and being a "TypeScript programmer."

Building and Testing a Web API Service

As part of building a client-side application in a test-driven way and using TypeScript, Peter creates a Web API service and writes a test that proves he can access it from JavaScript code -- though there are some "wrinkles" in making this work. Along the way, he has an insight about TypeScript versus other, first-class .NET languages.

Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.