 Hi, I'm James Montemagno, developer evangelist at Xamarin. Today, I'm going to show you how to leverage your C-Sharp and.NET skills to build out beautiful cross-platform, native iOS, Android, and Windows apps in C-Sharp with Xamarin, and create great Cloud-connected experiences with Azure. Now, I'm going to take you through the entire Xamarin platform, start to finish, and show you how to build out those great apps inside of Visual Studio, and then connect them up to the Cloud with Azure. Of course, I'll show you right where to get started. Now, we're going to focus on the Xamarin platform, designing, integrating, and deploying our iOS, Android, and Windows apps written fully in C-Sharp with Xamarin. Our approach to mobile development is extremely unique. Build a shared C-Sharp back-end for all of your applications. Your models, view models, RESTful service calls, SQL databases, Azure calls, all shared across all your applications. Then we give you the tools to build out a great native iOS, Android, and Windows and user interface, 100 percent native with 100 percent API access. If you're wondering how that looks, imagine today in the Windows world, you just have amazing.NET libraries that we know and love. Here's just a few of them, System Link, XML, NET. When you want to go to UWP or any other Windows platform, you download an SDK, you get some new APIs to mess around with. You can think of it the same when you go to iOS and Android with Xamarin. You get everything you know and love about.NET, but you have 100 percent API coverage for every API in iOS and Android. You create these great C-Sharp bindings around everything like MapKit and UIKit, and give you C-Sharp features such as async await, lambdas, link support, so everything that you know and love of C-Sharp, but accessing native iOS, and of course Android APIs. Now it's never been easier to get started with Xamarin. When you install Visual Studio 2015, simply select Custom, and then on the next screen, select Xamarin. You're good to go. Now if you've already installed Visual Studio, simply go to xamarin.com. slash download for our full universal installer. Now when you do that, you're going to have access to our great iOS and Android designers built right into Visual Studio to design and then deploy your applications. Let's take a look at getting started with Xamarin inside of Visual Studio. Here we are inside of Visual Studio 2015. Now I already have Xamarin installed and when you install Xamarin, you'll get some new project templates. When I go to File, new project. Here we'll see some new Android templates, iOS, and cross-platform. Now I've already created a blank application and you can create one with either a portable class library or shared code project. Now the application I'm building is called Coffee Filter. It's a cross-platform application that finds the closest coffee locations to me. If you know me, I love coffee. Let me just go ahead and show it to you really quick. Here it is on both iOS and Android. Here I can flip through all of the closest coffee locations to me. When I find one that I like, maybe such as Regent, I can go ahead and tap on it and navigate to some more details, including some nice parallaxing, get some reviews, photos, and even if I want, get a nice panorama view. I can do the same exact thing over on iOS. Now let's see how this application was actually built. So over here inside of our solution explorer, I have my Coffee Filter solution with Android, iOS, and Apple Watch application, some UI tests to actually test my user interface and test those on the Xamarin test cloud, a Windows application, and my shared code. Now we'll focus on the shared code and this is where my models and view models live. Now the first thing that I've done here is actually gone in and installed a bunch of NuGet packages into my iOS, Android, and Windows app, including some Google services, HTTP clients, JSON.net, and some cross-platform plugins such as connectivity, external maps, and our geolocator to get our cross-platform geolocation from a single line of code. So let's look at that. So here we are back into our shared code. I have my models and my view models, and here's my Coffee Filter view model for that main page. I have a few query URLs to actually query the places API, then I have a position and some places that I can data bind to. I can calculate my distance to the place by passing in a few parameters, navigate to a shop externally when I want to navigate and get directions, simple from an API that will launch Bing Maps or Google Maps or Apple Maps. Here we can use some member body expressions to get our connectivity, and of course we can get our location with GeocrossGeolocator.current.getPosition. That'll give us our latitude and longitude. And of course, we'll finally use HTTP client and JSON.net to query all of those places with a simple API call. Then we'll read it back and use our Elvis operator to do some null checking along the way. Then we have to build a little bit of user interface for our code behind. First, let's look at the iOS project. And under views, we have a bunch of code behind for our views and our main storyboard. This is a high level overview of our entire application. We can see from tabs to details to our actual scroll views for our maps. I also have, like I noted, an Apple Watch application that happens to have another storyboard file, but this time a little bit more minimal just for our few screens that we have when running on the watch. And finally, our Android application. Under resources, we'll find all of our drawable image assets and layouts, such as the fragment that we saw to put the star rating and the distance. We can look at our code behind here, which is our Android XML. And of course, we can design layout, portrait, and actually test out our grid lines to make sure we're following the great material design guidelines from Google. Now let's go ahead and look at the application one more time. Here it is, a beautiful cross-platform application with a shared C-sharp code behind built with Xamarin. Now we just saw building those great native iOS, Android, and Windows apps in Visual Studio as Xamarin, but what about creating a cloud-connected experience? That's where Azure Mobile Apps comes in. On the one side, you have your iOS, Android, and Windows applications, and you install the Xamarin and Windows SDKs. This gives you a nice REST API that's exposed to access things like any of your SQL databases, user authentication with Facebook, Google, or Azure Active Directory, and a push notifications. And the great part here with Azure Mobile Apps is you get full online and offline synchronization handled for you automatically. And then you have a full access to your own custom backend code so you can customize and modify anything that you want. And it's super simple to get started. Simply download the NuGet packages and create your mobile service client. Then to create some tables, all you gotta do is create a SQLite store, define a table, and create it. Now when we wanna add or remove any items, simply to get all my stores per se asynchronously, pull asynchronously. Then to add a store, insert it, pull the current version and synchronize. Let's just see how easy it is to get started with Azure Mobile Apps and Xamarin to create great cloud-connected experiences. Here we are inside of the Azure portal. Now I'm creating an application called MyShop, one of our pre-built applications, naming any store to create an application for themselves so their users and their customers can browse locations and leave feedback. So it all starts here inside the Azure portal. I've created a brand new mobile app called MyShop demo and we can see in real time are all the requests coming into the application. Now, once you have this created, simply click Add Client. You'll see Xamarin, Xamarin iOS, and Xamarin Forms. I'll show you how to download Visual Studio, Xamarin, and get off running with the server and the project. Now, I've already done that, so I'm here inside of Visual Studio 2015. And what we'll see is a full cross-platform application called MyShop. I have all of my code inside my portable class library with my models, view models, and views, and then my Android, iOS, and Windows application. Let's take a look at the Azure data store. This is using Azure Mobile Apps to create a mobile service client and create a brand new store table and feedback. Let's look at the store really quick. In here, we can see some properties, version numbers, name, location, street address, and even images to display. Now, I wanna go ahead and create my tables. What's nice about this is this is using a SQLite store for online offline synchronization. I simply create my two synchronization tables for store table and feedback. Then I have a simple way of simply adding some feedback by inserting it, synchronizing, and returning the current feedback, getting a list of feedbacks, or even deleting them. All the calls are really simple. Simply just grab the table called delete, call end, insert, or call get. That's all it is. So here we can get all of our stores by first synchronizing and then enumerating over all of our stores in the table. If I drop down into the store's view model, we can see where I'm getting that. Let's go ahead and go down to our get stores command, where I'm simply gonna go ahead and clear all my stores from that data store, get all the stores asynchronously and add them to my observable collection. Additionally, I sort all of them using our nice link syntax. Now let's take a look at the application. I'm gonna go ahead and bring up our iOS, Android, and Windows application. I can browse all of the locations in the application. Here we go. And we see they have nice headers, titles, I'll browse through. Here's our Argentina office. Then I can call and even navigate to and I even get a nice map view of the location. Now what's also really nice is that I can come in and have my customers leave feedback. I can select the store and say awesome and submit that back to my Azure backend. Now I wanna actually find out and see when feedback is coming in. Now I could come into my cloud explorer here and I'll pin this over there. I can browse all of my SQL databases and mobile apps. And here's my shop demo database. And if I go over to my SQL Explorer, I can browse not only my database, but also my tables inside of it and of course view the data. Better yet, what if I had an application as the store owner to grab this data? We can leverage our shared backend and our portable class library to create an admin application for iOS and Android and even Windows. And I can just add a little bit more logic and customization to build out and pull this data in and manage it as a manager. So now if I come back over to my iOS and Android application and load up the administration application on Android, I could manage all of my locations easily. Here they are. And instead of going to details, I actually have an editing view. I could also come back and view all of that feedback. There it is. There's the latest awesome that I just submitted. Perfect. Now what's great is that you can get started by just adding a mobile app, but to try it yourself, you can head over to tryappservice.azure.com. This will bring you to a nice landing page and when you scroll down, you can select a mobile app, hit next, select one of the Xamarin application such as our CRM application and create it. Log in with one of your accounts. This will create your entire backend and give the entire project already pre-done that you can try out. Here it is. Simply download Xamarin iOS or Android and you're good to go. And there it is creating a beautiful cross-platform iOS, Android and Windows application all connected to Azure. Now we just saw a great whirlwind tour of the Xamarin platform, crafting iOS, Android and Windows apps in C-Sharpen.net and taking it to the cloud with Azure. Now with Xamarin, you're always up to date. We'd be shipping great support and same-day support for iOS since iOS 5, including the latest iOS 9 and 9.1. We have great support for the new emerging devices that are out there because it's not just about phones and tablets anymore. We have support for Apple Watch, the Amazon Fire devices, Android Wear, TV Auto and even Google Glass. So now you can take your C-Sharpen.net code and run on over 2.6 billion devices around the world. Now we focus heavily on the Xamarin platform designing, developing and integrating our C-Sharpen.net code but Xamarin is your complete mobile solution. And it's not just about building and designing and developing, it's also about the testability. And of course we can write business unit tests with N unit or X unit but what about our user interface? How does it scale and react across the thousands upon thousands of devices? And that's where Xamarin UI tests and Xamarin Test Cloud comes in. Enabling you to craft automated user interface scripts and run on over 2,000 unique devices and our Xamarin Test Cloud. Of course what happens after you ship your app to the app store? How do you get your analytics and crashes back to you so you can analyze and improve your app? Well that's where Xamarin insights come in. With a single line of code you get all of your managed and native crash reports for iOS, Android and all the Windows platforms. We have great resources to get you started and we also have Xamarin University live interactive training where you can become a Xamarin certified developer. You can get a full access to Xamarin University with a free 30 day trial at xamarin.com slash university and to learn more about everything you've seen here just simply go to xamarin.com or to try Azure App Service go to tryappservice.azure.com and be sure to follow me on Twitter and GitHub at James Montemagno. Thanks.