Cross Platform .NET Apps – How to be awesome on each platform without rewriting

This is a past event

49 people went

City University of Seattle

521 Wall Street · Seattle, WA

How to find us

Read details for parking directions.

Location image of event venue


January's meetup will be packed full of Mobile .NET awesome!


• 5:45PM-6:15PM: Pizza + Social

• 6:15PM-6:45PM: Lightning Talks (Sign up here ([masked]))

• 7:00PM - 8:00PM: Main Talk with Daniel Plaisted (

• Event Will be live streamed on G+ Hangouts: RSVP Here for Live Stream (

• Live Chat will be in: (­ channel: #seamobiledev

Beverages + Pizza provided by Xamarin (! (yes we will have more pizza then last time!!!)

Main Talk with Daniel Plaisted (

Cross Platform .NET Apps – How to be awesome on each platform without rewriting your app for each of them

We live in a world where supporting multiple platforms is becoming more and more of a requirement. Fortunately, with Xamarin’s iOS and Android tools, you can use .NET to create apps for all major mobile platforms. However, there’s a tension between making your app take full advantage of each platform and sharing as much code as possible between the different platforms. In this session, we’ll cover patterns you can use to help with this. We’ll see how the Model-View-ViewModel pattern (MVVM) helps create a clean separation between your user interface, which is platform-specific, and your business logic, which should mostly be reusable across platforms. We’ll also see how to use abstraction and dependency injection to access platform-specific functionality from shared code, and how Portable Class Libraries make it easier to share your code.

Daniel Plaisted (

Since joining Microsoft in 2008, Daniel has worked on the Managed Extensibility Framework (MEF), Portable Class Libraries, and .NET for Windows Store apps. He's presented at MS TechEd, //build/, and various local groups, code camps, and conferences. In his free time, he enjoys computer games, reading, hiking, juggling, and footbagging (hackey-sack).

Location Details for Parking: