Introduction To Xamarin For Beginners

Introduction To Xamarin For Beginners. What is Xamarin, Xamarin.IOS, Xamarin.Android, Xamarin.Forms

This article will cover the following topics.

  • Mobile app trends and development.

  • What is Xamarin

    • Xamarin.IOS
    • Xamarin.Android
    • Xamarin.Forms

  • Installation Guide
Mobile app trends and development

According to a survey, most users prefer applications on their mobile devices instead of on browsers.

In 2014, 85 percent of people prefer mobile apps instead of Mobile web browsers and this number increased to 90 percent in 2015 and 92 percent in 2016.

Mobile development

As you see mobile application users are increasing day by day, and if you want to target all of these users, then you have to develop applications on all major platforms, which are Android, iOS, and Windows.

These platforms have separate code bases written in their native language and are built using native tools.

  iOS Android Windows
Tool XCode Android Studio Visual Studio
Language Swift/Objective C Java C#
Framework iOS Frameworks Android SDK/JAVA SDK .NET Library

Advantages and disadvantages of this type of development

Advantages

  • Native look and feel
  • Native pages, layouts and settings 

Disadvantages

  • You can't share code
  • Multiple IDEs
  • Multiple teams
  • Take longer time in development

So, make yourself ready for all these tools, languages, and frameworks or move towards Xamarin.

What is Xamarin?

Definition

Xamarin is an application development platform that lets you build applications for many platforms with a single shared code base.

Tools

You can use Xamarin studio or visual studio for windows or mac for development.

Development Approaches

You can use separate user interface (UI) approach or shared user interface approach.

In separate UI approach, your application business logic is shared while you make separate UI for all targeted platforms. and in Shared UI approach all of you user interface and business logic is shared in all platforms. As shown in figure,

What is Xamarin

Performance

Xamarin apps are fully native so in xamarin you can enjoy fully native performance with shared code.

Xamarin.iOS and Xamarin.Android (Separate UI)

For Xamarin.iOS and Xamarin.Android, you have shared code base in C# .This business logic is shared across platforms and UI is separate for all platforms. This is separate UI approach. 

Xamarin.ios and Xamarin.Android give you 100% API coverage with benefits of .NET APIs. Anything you can do in Android or in iOS, you can do with Xamarin using C#.

Windows

Windows already supports C# for development. So, it is also built in C# with native APIs.

Xamarin.Forms

Xamarin.forms allow you more code sharing that you can also share application UI in all platforms.

Included in Xamarin.Forms

  • UI building blocks like pages, layouts, and controls
  • XAML-defined UI
  • Data binding
  • Navigation
  • Animation API
  • Dependency Service
  • Messaging Center

Advantages of Xamarin.Forms

  • Native apps
  • Shared Business Logic
  • Shared UI
  • One Xamarin development team require to develop apps for multiple platforms
  • Less development time
Installation Guide 

Note

For iOS development with Visual Studio on Windows, you also need to set up a Mac with the Xamarin tools.

Supported operating systems for Xamarin tools.

  • macOs (Visual Studio for Mac)
  • Windows (Visual Studio IDE)