Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Xamarin

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Introduction to Xamarin

Brief introduction to Xamarin Platform.

Avatar for Umur Gedik

Umur Gedik

June 17, 2016

Other Decks in Programming

Transcript

  1. WHAT'S WRONG WITH CROSSPLATFORM SOLUTIONS? > Using platform specific features

    > Finding solutions for your problems > Custom behaviours & performance optimizations
  2. > No abstraction over native frameworks > Use native ui

    designers (e.g xcode) > Happy googling or stacoverflowing (?!)
  3. IOS CODE SAMPLE IN swift import UIKit class ViewController: UIViewController

    { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
  4. IOS CODE SAMPLE IN c# using UIKit; public class ViewController

    : UIViewController { override void ViewDidLoad() { base.ViewDidLoad(); // Do any additional setup after loading the view, typically from a nib. } override void DidReceiveMemoryWarning() { base.DidReceiveMemoryWarning(); // Dispose of any resources that can be recreated. } }
  5. IT'S SMALL SUBSET OF .NET FRAMEWORK > Platform independent stuff

    > Api communication > Storage / Cache > Data flow (e.g MVVM)
  6. Deciding to show a notification to user is platform independent.

    But notification classes are specific to native frameworks.
  7. PACKAGE SIZE >= 3 MB DEPENDING ON YOUR .NET LIBRARY

    USAGE THIS CAN BE LARGER. XAMARIN LINKER GET RID OF UNUSED PARTS OF .NET
  8. USING 3RD PARTY NATIVE LIBRARIES HARDER IT'S POSSIBLE TO USE

    3RD PARTY NATIVE LIBRARIES. BUT GENERATING BINDINGS IS HARD.