Installation and configuration of Xamarin

As we are starting learn Cross Platform Mobile development using Xamarin, lets start with the Xamarin Installation and configuration. In this Tutorial we will talk about the configuration of Cross Platform development environment for Xamarin Studio and Visual Studio 2015.

Here is the System requirement for Xamarin Studio Installation in Windows and MAC.

Development Environments

This table shows which platforms can be built with different development tool & operating system combinations:

MAC OS X WINDOWS
Development Environment XAMARIN STUDIO VISUAL STUDIO XAMARIN STUDIO
Xamarin.iOS Yes Yes (with Mac computer) No
Xamarin.Android Yes Yes Yes
Xamarin.Forms iOS & Android only Android, Windows Phone, Windows
(iOS with Mac computer)
Android only
Xamarin.Mac Yes No No

NOTE:

  • To develop for iOS on Windows computers there must be a Mac computer accessible on the network, for remote compilation and debugging. This also works if you have Visual Studio running inside a Windows VM on a Mac computer.

Mac OS X Requirements

Using a Mac computer for Xamarin development requires the following software/SDK versions. Check your operating system version and follow the instructions for the Xamarin installer.

RECOMMENDED NOTES
Operating System OS X El Capitan (10.11) The minimum required version is OS X Yosemite (10.10).
Xamarin.iOS iOS 9.2 SDK This iOS SDK ships with Xcode 7.2.
Xamarin.Android Android 6.0 / API level 23 You can still target older Android versions while using the latest SDK, or you can build against older versions of the SDK if required.
Xamarin.Forms Xamarin.Forms apps built on OS X can include iOS and Android projects, subject to the SDK requirements above.
Xamarin.Forms projects for Windows and Windows Phone cannot be built on OS X.
Xamarin.Mac OS X El Capitan (10.11) SDK This OS X SDK ships with Xcode 7.2.

NOTE:

Once use downloads the Xamarin Studio and Installed on the system Xamarin. for the first time when you open xamarin it will ask you to download all the relative SDK for Android development using Android SDK manager.

Once you download all the relative Android SDK, you are good to go with  your first Hello world !! Xamarin.Forms App.

Happy Learning

 

 

What is Xamarin ?

Xamarin is not framework or not a compiler or not it’s a code translator. Xamarin is a San Francisco, California based software company created in May 2011. Currently in 2016 Xamarin is now Microsoft Product and biggest change microsoft bring Xamarin community version is totally free for all the developers who want to learn Xamarin.

Xamarin has introduced wonderful frameworks for developing mobile applications (Mono Framework, Xamain.Android, Xamarin.iOS and Xamarin.Forms) and lots of other tools like Xamarin Test cloud, Xamarin Profiler, Xamarin Insights etc., with the help of these Frameworks C# developer can develop mobile applications (Android, iOS, Windows).

When we thinking about the cross platform mobile development we will have many option to choose from the market like Sencha, PhoneGap,  Appcelerator. This are the tools build base on the HTML5 and JavaScript,

frameworks (like PhoneGap) that offered development of cross-platform apps on HTML5 using JavaScript got quite popular. The idea is that the app is developed as a regular website for mobile devices using appropriate js-libraries, for example Jquery Mobile.

Then the whole thing is packed into a container that looks like a native app. The disadvantages of this type of apps are pretty obvious. Number one, you don’t have access to native UI elements.

Number two, you get a cut and generalized API, therefore, some features peculiar to one platform or another will be unavailable. Number three, such app physically runs inside the phone web browser (WebView controller to be more precise). And you know what that means: the app runs slowly and looks ugly.

But Xamarin is overcome with all the crossplatform main issue with Xamarin.Forms. Xamarin is a framework for cross-platform mobile app development in C#. The way it works is simple – you write one shared C# codebase with full access to all SDK possibilities and native UI creation mechanisms, and the result you get is a mobile app that looks and feels completely native.

Xamarin is different. It is based on an open-source implementation of .NET called Mono. This implementation includes its own C# compiler, development environment and main .NET libraries.

Xamarin allows using native UI development mechanisms and native UI elements for each platform, which doesn’t really go along with the Xamarin creators’ claims that it is an instrument for cross-platform development  (an app written once will run on different mobile platforms).

Here is an explanation. The only layer that you’ll have to write specifically for each platform is the UI layer. That’s the price you pay for being able to use native UI creation mechanisms.

Xamarin has its own store with third-party components –Xamarin Components. It is integrated in the IDE and it allows adding different components, written by Xamarin experts as well as third-party developers.

You’ll have to pay for some of them, but the majority of the components are free. Not all elements are cross-platform though, many of them are available only for a specific platform.

Earlier As a development environment Xamarin developers suggest using either their own IDE – Xamarin Studio or Visual Studio as a part of business-license but now after its microsoft product and you can now download xamarin community version which allow developer to develop big application.

Xamarin technology is currently a serious instrument for solving difficult tasks in the domain of mobile app development. The team of Xamarin developers never stop working on improving the framework. The technology looks very promising, as the number of developers choosing to develop with Xamarin are increasing every day.

You can download the Xamarin from there website :- Download Xamarin

In my Other Post I have explain what is Xamarin.Forms

Xamarin.Forms

Xamarin.Forms provides the cross-platform UI Solution which allow developer to easily create user interfaces that can be shared across Android, iOS, Windows, and Windows Phone. When developer create solution with  Xamari.Forms Shared project from the Xamarin Studio it will generate 3 project in one solution file. one is android project, second is iOS Project  and the Shared Project.

In the Share project developer create the User Interface in using Xamarin.Forms controls. Xamarin Forms control will give  you native look and feel base on the platform.

image05-sml

 

In Above screenshot  you can see how Hello Forms label is adopting platform specific style. which is great thing Xamarin doing very well. In the other platform developer need to create Separate UI for each platform which will increase the developer work. Xamarin.Forms will automatically adopt platform independent UI.  Xamarin.Forum allows 80% of the shared code base which will reduce the development time too.

While using Xamarin.Forum and Developer also add any platform specific functionality in the project. Each screen in the screenshots corresponds to a Page in Xamarin.Forms. A Page represents an Activity in Android, a View Controller in iOS, or a Page in Windows Phone. The sample in the screenshots above instantiates a ContentPage object and uses that to display a Label.

When you developer use Visual Studio as Xamarin Development environment and your system with connected with MAC, it will create four separate project in Single solution, 1. share project 2. Android project 3. iOS Project 4. Windows Project.

As per my suggestion if developer are thinking about he cross platform application, they should first think about the features providing by the Xamarin tools.

In my next post I will going to talk more about Xamarin.Forms which will help developer to understand Xamarin.Forms in details and we will performing some coding with Xamarin.Forms and also will discuss about the some Xamarin forms UI terminology like Page, Content Page, Label etc. we will going to start few basics Tutorial for Beginner using Xamarin Studio in my next post.

HAPPY LEARNING