Cloud-first? Mobile-first? You know what that means: Async-first! Is the world of async/await passing you by? No need to worry with this catchup session! Join async guru Stephen Cleary for a down-to-earth introduction to the new async and await keywords. No previous expertise required! We'll cover just what you need to know as a developer: where async helps (and where it doesn't), how it works (without unnecessary details), and best practices to get you started on your async adventure!
Asynchronous code using the new async and await keywords seems to be everywhere these days! These keywords are transforming the way programs are written. Yet many developers feel unsure about Async programming. This webcast covers: How the async and await keywords really work; How to think about asynchronous code; The difference between asynchrony and parallelism; Common mistakes when learning asynchronous programming; Fixing Async code smells with CodeIt.Right.
Asynchronous code is pretty straightforward if you don't have any existing code to maintain, but it can be much more difficult when working in a brownfield scenario! This article discusses a variety of approaches to introducing asynchronous code while maintaining backwards compatibility.
An exhaustive look at unit testing
async methods. This article covers the basics of unit testing
async methods, mocking techniques, and special considerations. Also includes an overview of the current status of common unit testing frameworks (MSTest, xUnit, and NUnit) as well as some helper libraries (e.g., Moq, Microsoft Fakes), with a look at future directions.
async tutorials assume a client-side application. But does
async have a role to play on the server? The answer is most definitely "yes!" This article examines
async on ASP.NET applications: the benefits of
async, how it works in an ASP.NET environment, and common pitfalls to avoid.
An introduction to asynchronous, parallel, reactive, and dataflow programming; and a reference for common solutions.
The third in a series on dealing with
await in Model-View-ViewModel applications. Considers common patterns for asynchronous services: how
async interacts with inheritance, factories, unit testing, lazy initialization, and construction.
The second in a series on dealing with
await in Model-View-ViewModel applications. Examines several patterns for representing asynchronous operations as MVVM commands (
The first in a series on dealing with
await in Model-View-ViewModel applications. Introduces a pattern for data-binding to the results of asynchronous operations.
A "second step" for learning
async; a good followup read after an
async tutorial. Provides guidelines for avoiding common pitfalls, and includes several cheat sheets and resources for
A thorough look at the
SynchronizationContext type, starting with some history and concluding with how it is used by various components (including components in development such as the compiler support for
A brief description of the
Boost.TypeTraits library, which uses advanced template techniques to determine (and manipulate) type properties at compile-time. This was the first article on template metaprogramming; the
TypeTraits library provided the groundwork for more advanced template metaprogramming. Co-authored this article with John Maddock.