Xamarin Studio



Xamarin is a cross-platform technology that makes it possible to build native mobile apps for Android, iOS, and Windows Phone using C# and a shared codebase. Like its younger siblings NativeScript and React Native, it allows development teams to build mobile applications using the skills they already have, and spend less time writing code for each platform.

Now that we have Visual Studio 2019 and Xamarin installed let's get to work! When you launch Visual Studio 2019 you will have an option to create a new project. On Windows you can search for Xamarin.Forms or use the project types filter and select Mobile. We will want to select Mobile App (Xamarin.Forms). Visual Studio Tools for Xamarin Deliver native Android, iOS, and Windows apps with a single shared.NET code base. Xamarin is cross-platform, allowing you to develop and deploy mobile apps on your favorite OS. The Visual Studio product family provides a great.NET development experience on Windows and macOS. Learn about Visual Studio Tools for Xamarin.

If you haven’t tried Xamarin yet, now is a great time to get started! Earlier this year, Microsoft bought Xamarin and made it free (and open-source). You can build Xamarin projects on Windows (using Visual Studio), or Mac/Linux (using Xamarin Studio).

I’m excited to dig into Xamarin because mobile apps need authentication and authorization, which Stormpath makes easy. We already have rich SDKs for .NET and ASP.NET, as well as SDKs for iOS and Android separately, but a Xamarin-specific SDK could provide even more value and make it super simple to secure your apps. It’s something I’m currently digging into, so stay tuned!

In this tutorial, I’ll show you how to use Visual Studio and Xamarin to build a basic app for iOS and Android — even if you’ve never done any app development before!

Setting Up Visual Studio and Xamarin

If you don’t have Visual Studio 2015 installed, download the free Community Edition from Microsoft. If you already have Visual Studio, make sure you have the latest update (Update 3 at the time of writing).

You’ll also need to install some optional components for Visual Studio. If you’re setting up Visual Studio from scratch, make sure these items are selected:

  • C#/.NET (Xamarin 4.1.1)
  • Visual Studio Emulator for Android
  • If you have an existing installation, you can verify that these components are installed by opening the Control Panel, choosing Uninstall or change a program, and selecting Microsoft Visual Studio 2015. Follow the installation wizard to make sure the above items (at a minimum) are checked.

    Once you have the tools set up, you’re ready to create a Xamarin project!

    Xamarin vs. Xamarin.Forms

    The Xamarin SDK provides bindings to the platform-specific APIs on each mobile platform, so you can call Android or iOS APIs from C# code. This allows you to build native apps using C#, but you still need to design the UI separately for each platform.

    Xamarin.Forms is an additional layer on top of the Xamarin SDK that makes it possible to build your UI once (in XAML markup) and let Xamarin do the hard work of translating it into the appropriate UI elements on the target platform. You can drop down to the Xamarin SDK level and interact with the platform APIs if you need to.

    Should you use “raw” Xamarin, or Xamarin.Forms? It depends on what you are building:

    If you’re building an app that needs little platform-specific functionality or custom UI, go with Xamarin.Forms. This is a good choice for straightforward readonly='><?xml version='1.0' encoding='UTF-8'?><ContentPage xmlns='http://xamarin.com/schemas/2014/forms' xmlns:x='http://schemas.microsoft.com/winfx/2009/xaml' x:Class='HelloWorldApp.HelloWorldPage'> <ContentPage.Padding> <OnPlatform x:TypeArguments='Thickness' iOS='20, 40, 20, 20' Android='20, 20, 20, 20' WinPhone='20, 20, 20, 20' /> </ContentPage.Padding> <ContentPage.Content> <StackLayout VerticalOptions='FillAndExpand' HorizontalOptions='FillAndExpand' Orientation='Vertical' Spacing='15'> <Label Text='Enter your name:' /> <Entry x:Name='NameEntry' Text='Jane Doe' /> <Button x:Name='SayHelloButton' Text='Say Hello' Clicked='SayHelloButton_OnClicked' /> </StackLayout> </ContentPage.Content></ContentPage>
    2
    4
    6
    8
    10
    12
    14
    16
    18
    20
    22
    <ContentPage xmlns='http://xamarin.com/schemas/2014/forms'
    xmlns:x='http://schemas.microsoft.com/winfx/2009/xaml'
    <ContentPage.Padding>
    iOS='20, 40, 20, 20'
    WinPhone='20, 20, 20, 20'/>
    <ContentPage.Content>
    HorizontalOptions='FillAndExpand'
    Spacing='15'>
    <Entryx:Name='NameEntry'Text='Jane Doe'/>
    <Buttonx:Name='SayHelloButton'Text='Say Hello'Clicked='SayHelloButton_OnClicked'/>
    </ContentPage.Content>

    This XAML code creates a basic layout containing Label, Entry (text box), and Button controls. The control names (specified with x:Name) will be used to refer to the controls in code.

    The Clicked= attribute on the Button element wires up the button click event to a handler called SayHelloButton_OnClicked, which doesn’t exist yet (but it’s about to!)

    Open up the code-behind for the XAML file by expanding it in the Solution Explorer and double-clicking on the HelloWorldPage.xaml.cs file.

    Replace the generated C# code with the following:

    Xamarin Studio Download