SlideShare a Scribd company logo

Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross

From the Silicon Valley Code Camp 2016 talk

Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross

1 of 17
Download to read offline
X.NET
BUILD CROSS PLATFORM MOBILE APPS FOR
IOS & ANDROID WITH XAMARIN &
MVVMCROSS
+
Ishai Hachlili (@eshy)
Gilles de Bordeaux (@Gillesde)
Do you know about
Xamarin?
Open Source (MIT License)
• Xamarin.iOS
• Xamarin.Mac
• Xamarin.Android
• Xamarin.Forms
• Bindings & Plugins
Free and included With Visual Studio
(including free Community Edition)
Silo Approach
iOS WindowsAndroid
Swift/Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No shared code • Many languages & development environments • Multiple teams
Xamarin’s Unique Approach
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
Xamarin’s Unique Approach
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
Ad

Recommended

Mvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.FormsMvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.FormsLeaware.com
 
App days 2016 munich - Leaware - real time cross platform app with signalr ...
App days 2016   munich - Leaware - real time cross platform app with signalr ...App days 2016   munich - Leaware - real time cross platform app with signalr ...
App days 2016 munich - Leaware - real time cross platform app with signalr ...Leaware.com
 
Leaware software house - about us
Leaware software house - about usLeaware software house - about us
Leaware software house - about usLeaware.com
 
Xamarin.Forms - More Productive & Beautiful Than Ever
Xamarin.Forms - More Productive & Beautiful Than EverXamarin.Forms - More Productive & Beautiful Than Ever
Xamarin.Forms - More Productive & Beautiful Than EverJefferson Balivo
 
Introducing mono & xamarin
Introducing mono & xamarinIntroducing mono & xamarin
Introducing mono & xamarinTechizzaa
 
Cross-platform Mobile Development
Cross-platform Mobile DevelopmentCross-platform Mobile Development
Cross-platform Mobile DevelopmentXamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinBrian Anderson
 
Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Xamarin
 

More Related Content

What's hot

Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinIntroduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinJames Montemagno
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3Xamarin
 
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student PartnerAlina Vilk
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapSasha Goldshtein
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !Cellenza
 
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumCordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumRakesh Jha
 
Developing and Designing Native Mobile Apps in Visual Studio
Developing and Designing Native Mobile Apps in Visual StudioDeveloping and Designing Native Mobile Apps in Visual Studio
Developing and Designing Native Mobile Apps in Visual StudioXamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinGuy Barrette
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of appsJames Montemagno
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossFlavius-Radu Demian
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarindanhermes
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinXpand IT
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarinLuca Zulian
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinJames Montemagno
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with XamarinXamarin
 

What's hot (20)

Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinIntroduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
 
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumCordova vs xamarin vs titanium
Cordova vs xamarin vs titanium
 
Developing and Designing Native Mobile Apps in Visual Studio
Developing and Designing Native Mobile Apps in Visual StudioDeveloping and Designing Native Mobile Apps in Visual Studio
Developing and Designing Native Mobile Apps in Visual Studio
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of apps
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
State of the Platforms
State of the PlatformsState of the Platforms
State of the Platforms
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarin
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with Xamarin
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to Xamarin
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 

Similar to Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross

Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinNick Landry
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioCraig Dunn
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaAllan Cleysson
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinDeepu S Nath
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?Dan Ardelean
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinJames Montemagno
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinMatthew Soucoup
 
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSmau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSmau
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...Nick Landry
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformRui Marinho
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarinDaniel Fikre
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalOfir Makmal
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioXamarin
 
Xamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionXamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionCommit University
 
Introduction to cross platform natitve mobile development with c# and xamarin
Introduction to cross platform natitve mobile development with c# and xamarinIntroduction to cross platform natitve mobile development with c# and xamarin
Introduction to cross platform natitve mobile development with c# and xamarinJames Montemagno
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with XamarinArul Kumaran
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAmal Dev
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinShravan Kumar Kasagoni
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
 

Similar to Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross (20)

Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
 
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSmau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir Makmal
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual Studio
 
Xamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionXamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile Solution
 
Introduction to cross platform natitve mobile development with c# and xamarin
Introduction to cross platform natitve mobile development with c# and xamarinIntroduction to cross platform natitve mobile development with c# and xamarin
Introduction to cross platform natitve mobile development with c# and xamarin
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with Xamarin
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And Xamarin
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
 

Recently uploaded

Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdfEnabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdfJohn Archer
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)GDSCNiT
 
maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsssuser82c38d
 
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdf
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdfIndia's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdf
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdfgranitesrijan
 
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdf
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdfunit 1 lecture 1 - Introduction - Software Engineering Myths.pdf
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdfStephenTec
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
Self scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsSelf scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsBram Vogelaar
 
Steps to Build a PWA with Odoo.pdf
Steps to Build a PWA with Odoo.pdfSteps to Build a PWA with Odoo.pdf
Steps to Build a PWA with Odoo.pdfayushinwizards
 
Sql server types of joins with example.pptx
Sql server types of joins with example.pptxSql server types of joins with example.pptx
Sql server types of joins with example.pptxsameer gaikwad
 
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdf
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdfunit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdf
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdfStephenTec
 
unit I lecture 5 - Software Development Life Cycle.pdf
unit I lecture 5 - Software Development Life Cycle.pdfunit I lecture 5 - Software Development Life Cycle.pdf
unit I lecture 5 - Software Development Life Cycle.pdfStephenTec
 
Les02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptLes02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptDrZeeshanBhatti
 
Manual de la Mezcladora SoundCraft Notepad -12Fx
Manual de la Mezcladora SoundCraft Notepad -12FxManual de la Mezcladora SoundCraft Notepad -12Fx
Manual de la Mezcladora SoundCraft Notepad -12Fxjavierdavidvelasco17
 
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTSi-engage
 
unit I lecture 2 - Software Engineering Ethics - Software Process.pdf
unit I lecture 2 - Software Engineering Ethics - Software Process.pdfunit I lecture 2 - Software Engineering Ethics - Software Process.pdf
unit I lecture 2 - Software Engineering Ethics - Software Process.pdfStephenTec
 
Getting Started with Trello for Beginners.pptx
Getting Started with Trello for Beginners.pptxGetting Started with Trello for Beginners.pptx
Getting Started with Trello for Beginners.pptxmavinoikein
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Asher Sterkin
 
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementEmbracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementOnePlan Solutions
 
unit I lecture 3 - Software Process Models.pdf
unit I lecture 3 - Software Process Models.pdfunit I lecture 3 - Software Process Models.pdf
unit I lecture 3 - Software Process Models.pdfStephenTec
 

Recently uploaded (20)

Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdfEnabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
 
maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp students
 
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdf
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdfIndia's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdf
India's_Generative_AI_Startup_Landscape_Report_2023_Inc42 (1).pdf
 
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdf
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdfunit 1 lecture 1 - Introduction - Software Engineering Myths.pdf
unit 1 lecture 1 - Introduction - Software Engineering Myths.pdf
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
Self scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsSelf scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloads
 
Steps to Build a PWA with Odoo.pdf
Steps to Build a PWA with Odoo.pdfSteps to Build a PWA with Odoo.pdf
Steps to Build a PWA with Odoo.pdf
 
Sql server types of joins with example.pptx
Sql server types of joins with example.pptxSql server types of joins with example.pptx
Sql server types of joins with example.pptx
 
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdf
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdfunit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdf
unit I lecture 4 - AGILE DEVELOPMENT AND PLAN-DRIVEN.pdf
 
unit I lecture 5 - Software Development Life Cycle.pdf
unit I lecture 5 - Software Development Life Cycle.pdfunit I lecture 5 - Software Development Life Cycle.pdf
unit I lecture 5 - Software Development Life Cycle.pdf
 
Features of IETM Software -Code and Pixels
Features of IETM Software -Code and PixelsFeatures of IETM Software -Code and Pixels
Features of IETM Software -Code and Pixels
 
Les02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptLes02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.ppt
 
Manual de la Mezcladora SoundCraft Notepad -12Fx
Manual de la Mezcladora SoundCraft Notepad -12FxManual de la Mezcladora SoundCraft Notepad -12Fx
Manual de la Mezcladora SoundCraft Notepad -12Fx
 
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
 
unit I lecture 2 - Software Engineering Ethics - Software Process.pdf
unit I lecture 2 - Software Engineering Ethics - Software Process.pdfunit I lecture 2 - Software Engineering Ethics - Software Process.pdf
unit I lecture 2 - Software Engineering Ethics - Software Process.pdf
 
Getting Started with Trello for Beginners.pptx
Getting Started with Trello for Beginners.pptxGetting Started with Trello for Beginners.pptx
Getting Started with Trello for Beginners.pptx
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024
 
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementEmbracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
 
unit I lecture 3 - Software Process Models.pdf
unit I lecture 3 - Software Process Models.pdfunit I lecture 3 - Software Process Models.pdf
unit I lecture 3 - Software Process Models.pdf
 

Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross

  • 1. X.NET BUILD CROSS PLATFORM MOBILE APPS FOR IOS & ANDROID WITH XAMARIN & MVVMCROSS + Ishai Hachlili (@eshy) Gilles de Bordeaux (@Gillesde)
  • 2. Do you know about Xamarin?
  • 3. Open Source (MIT License) • Xamarin.iOS • Xamarin.Mac • Xamarin.Android • Xamarin.Forms • Bindings & Plugins Free and included With Visual Studio (including free Community Edition)
  • 4. Silo Approach iOS WindowsAndroid Swift/Objective-C Xcode C# Visual Studio Java Android Studio No shared code • Many languages & development environments • Multiple teams
  • 5. Xamarin’s Unique Approach Shared C# codebase • 100% native API access • High performance iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile
  • 6. Xamarin’s Unique Approach Shared C# codebase • 100% native API access • High performance iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server
  • 7. C# is Awesome Newtonsoft.Json, Refit, Humanizer, etc.
  • 8. iOS – 100% API Coverage MapKit UIKit iBeacon CoreGraphics CoreMotion System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml
  • 9. Android – 100% API Coverage Text-to-speech ActionBar Printing Framework Renderscript NFC System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml
  • 10. Anything you can do in Objective-C, Swift, or Java can be done in C# and Visual Studio with Xamarin.
  • 11. ✓Always Up-to-Date Same-day support: • iOS 5 • iOS 6 • iOS 7 • iOS 7.1 • iOS 8 • iOS 9 • iOS 10 Full support for: • Apple Watch • Apple TV • Google Glass • Android Wear • Amazon Fire TV • and much more
  • 12. Native Performance Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.
  • 14. Model – View – View Model View View Model Model + Services Commands Binding + Value Converters Native UI projects Xamarin.iOS Xamarin.Android Windows Apps Core Portable Class Library Shared between all platforms
  • 15. MvvmCross MVVM Framework for Xamarin.iOS, Xamarin.Android, Windows Store, UWP, Mac and WPF Open Source (www.github.com/MvvmCross) Install from Nuget Lots of plugins (official and 3rd party) on GitHub and Nuget Most contributors are active on Xamarin Chat (https://xamarinchat.slack.com invite from http://xamarinchat.herokuapp.com)
  • 17. Where should you go from here?  Our GitHub to see the sample code http://bit.ly/SVCCTasks  The meetup page to join us and learn more http://bit.ly/SVMobileNet  Home – It’s the last session of the day (but come back tomorrow…)

Editor's Notes

  1. We’ll learn a little about Xamarin and MVVM but most of the session is a live coding session where we’ll build a cross platform ToDo app. The goal is to make you aware and curious about Xamarin cross-platform app development.
  2. Has anyone heard about Xamarin?
  3. Xamarin is now owned by Microsoft. You no longer need an expensive subscription to create decent apps with it. Only some advanced tools require the enterprise license (which is included with Visual Studio Pro/BizSpark) Xamarin is also open source Xamarin Studio is free on Mac and PC So… why use Xamarin…
  4. Let’s look at the traditional silo approach: For Individuals: Difficult/Impossible to master multiple platforms. Time is spent on each platform, implementing the same thing. Multiple Teams and multiple Code Bases Expensive and Slow Positive = Great apps delivered to user’s platform Negative = Development hampered by multiple code bases & fragmentation
  5. Now, for the Xamarin approach: UI built natively per platform, leveraging C# C# + XAML for Windows C# + XML for Android C# + XIB or Storyboards for iOS One shared app logic code base for iOS, Android, Mac, Windows Phone, Windows Store, Windows It means one team for all platforms You only need to master one language, one framework, and one dev environment
  6. With Xamarin it isn’t just your front end in C# - it is your full backend server as well. With Azure, or even on Linux running Mono or the CoreCLR, your app is fully C# end to end! Examples: Sharing the Model classes between a Web API server and the mobile clients. Sharing helper methods and support libraries. Using the same libraries from nuget everywhere (same code for encryption for example)
  7. C# and .NET have been around for 15 years. They are mature language and framework, but still under active development with new features added every year. It’s a mature and proven platform. It’s also moving towards open source cross platform with .NET Core.
  8. You can think of iOS and Android developments the same with Xamarin. We have all of our .NET namespaces and libraries, and Xamarin give us 100% API coverage of each iOS API in it’s SDK that we access with C#. If you wanted to use the new SiriKit for example, you can with Xamarin.iOS
  9. The same is true for Android as well.
  10. Yes, anything you can do in Objective-C, Swift, or Java can be done in C# and Visual Studio with Xamarin.
  11. Updates are usually available on day 1 of the final Apple OS release. iOS 10 is already on 43% of devices. Android 6.0 (last year’s release) is only on 19% of devices. Android same-day support isn’t as important as it is with iOS Xamarin realizes how important having iOS ready is, because within 24 hours a large portion of iOS users upgrade Apple has a developer preview, where Xamarin has alphas ready. Google does not offer this. Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier. Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
  12. Independent performance testing found Xamarin almost on par with Swift, about the same as Java, and much faster than Objective-C. The differences between Swift/Java on each platform and Xamarin are not noticeable. The compromise with Xamarin isn’t performance, it’s native 3rd party libraries which are harder to integrate (requires binding to C#) However, open source projects written in Java, Swift or Objective-C are very easy to convert to C#
  13. How many of you already know MVVM architecture?
  14. Basically, you have: Data binding controls in the Views, to properties and commands in the View Models Properties that raise a notification changed event when a value is set Commands to react to events in the UI layer Pros: Separation of concerns Decoupling the UI code from the logic Code reuse and testability Cons: Overkill for small UI oriented projects As with every framework, the more you use it the better you become
  15. Unlike other MVVM platforms that support Xamarin, MvvmCross wasn’t built for WPF or for Windows Phone and adapted to Xamarin; it was cross platform from day 1 Plugins are used to make platform specific code easy to use from the shared Core project (for example using GPS, local file storage or taking a picture) Open source with active participants In version 4.3, and soon 5 Lots of plugins available and growing