Azure Mobile Services talk slides and demo
30 October 2013
Yavor is a PM at Snowflake working on developer experience. Previously at Docker, Auth0, Hulu, and Microsoft Azure.
30 October 2013
13 October 2013
I was recently digging through my Azure storage account and ran across a bunch of pictures accidentally snapped and uploaded as part of preparing my //build/ demo this past June. You can literally see wrinkles forming in real time!
07 October 2013
Thanks to everyone who attended my Android Mobile Services talk at SVCC on Saturday. Had a lot of fun and would love to come back!. Here are my slides.
My demos were based on some common scenarios that we have great tutorials for:
20 July 2013
I don’t want to be one of those people who’s always going on about their ViewModel, but I was pretty pleased with the way I was able to factor the sample from my Build talk, so I thought I would share. My goal was to structure my Windows Phone 8 code in a way so I could reuse as much of it as possible if I decided to build a Windows Phone 7.5 or Windows Store version of the app.
I mostly followed standard MVVM best practices here, and I assume most of you are familiar with those. I leaned on MvvmLight as my framework of choice. The strategy here was to try to make all ViewModel and Model code easily portable. This was a natural fit with the Portable Class Library (PCL) support introduced in VS 2012. This is the high-level project structure I devised:
A lot of the app chrome is deeply platform-specific, so I needed platform-specific projects for those pieces: MyApp.Win8 and MyAppWP8. The key was to separate the ViewModel and Model code, which can be made portable via their own PCL projects: MyApp.ViewModel and MyApp.Model. These projects can be referenced from a variety of C# platforms (.NET, Silverlight, Phone, Windows, even Xbox) without any modification, that’s the beauty of this model.
There is one caveat with a PCL project: the way it works is by exposing a sort of lowest-common-denominator .NET surface area that is guaranteed to work across all the different platforms where that library is supposed to work. Clearly, the further back you go by adding more and more legacy platforms to the supported set, the .NET surface area your project can target shrinks. So you have to make a mindful choice given your business need, luckily VS makes that choice very easy for you. Here is what I picked for my PCL projects:
Let’s talk about the two PCL projects in a little bit more detail.
This part is not specific to Mobile Services in any way, and has been covered well already by other folks. The key thing to realize is that the ViewModel code needs to depend on the MvvmLight framework. So someone needed to design a subset of MvvmLight that can be referenced from a PCL project. Luckily Laurent has already done the hard work here, so just reference the Portable.MvvmLightLibs project from NuGet, and you’re done.
This was the slightly more interesting part, since this is the project that needs to talk to Mobile Services and load/save data for my application. Other than my model classes, which are pretty straightforward, I designed a few service interfaces that my ViewModel code could use to talk to Mobile Services. Here are those interfaces:
~~~ csharp public interface IChatService { Task CreateUserAsync(User user);
01 July 2013
Thanks to all the folks who joined me for my Mobile Services talk in Oslo. Here are the slides and a link to my demo.
Here is the video from the presentation so you can follow along.
Yavor Georgiev: Leave the backend to us: building mobile apps with Azure Mobile Services from NDCOslo on Vimeo.