Thursday, May 31, 2018

Introduction To Xamarin

Ok lets start it this way.. iam so new to Xamarin. previously I spell it as X - marin but peoples call it samaring ;-) .

so What is Xamarin ?


simply its a common mobile application development platform for IOS , Android and windows phone. that means developers able to sheared their single code base with multi mobile platform.


How it Works !
as its Microsoft no need to worry much. you can use Xamarin studio or visual studio for windows or mac. (here i start with VS 2015)

Why Xamarin ?

  • Xamarin is based in native platform so the performance of the application is  high.
  • All the native based APIs are available in the xamarin.
  • UI design are focus in the native platform. the user experience is almost same for the native android/ios app and the xamarin app
  • Developer need to know one language to cater many platform.
Xamarin Native Vs Xamarin Forms

There are two type of Xamarin developments.




Xamarin Native is the traditional stage of Xamarin app development and its simply based on the mobile platform and developer need to maintain separate UI for each platform

Xamarin Native
Pros

  • Create one UI per platform.
  • Easy ability to adjust the platform specific UI features and components.
  • Get the maximum out of your UI.

Cons

  • Cross platform development process is much slower.
  • You need to learn all native UI frameworks.
  • You may result in having duplicate code (as you describe almost the same UI in three different platform specific ways).    
Xamarin Form
Xamarin form is latest approch of xamarin and it enable the developer to share UI and code base among the multiple platform. 

Pros

  • Create one UI for all platforms.
  • Use basic components that are available on all platforms (like Buttons, Textfields, Spinners etc.).
  • No need to learn all the native UI frameworks.
  • Fast cross platform development process.
  • Custom native renders give you the ability to adjust the appearance and feeling of controls.
Cons

  • It's still a new framework and still contains bugs.
  • Less resources.
  • It's sometimes slower than accessing the native controls directly.
  • Custom native renders have boundaries and are poorly documented.