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 on browsers.
In 2014, 85 percent of people prefered mobile apps instead of Mobile web browsers and this number increased to 90 percent in 2015 and 92 pecent 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, than 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,
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)