SlideShare une entreprise Scribd logo
1  sur  22
CROSS PLATFORM 
MOBILE DEV WITH C# 
AND XAMARIN 3 
Ed Snider 
Aug 19 2014 
Rappahannock Area 
Developers .NET Users 
Group (RADNUG)
CONTENT 
Introduction 
The Problem with Native Mobile App Dev 
The Benefits of Multi-Platform Mobile Dev with C# 
How? 
- MVVM 
- Share Code 
- Xamarin 
Share UI Code w/ Xamarin.Forms 
DEMO
INTRODUCTION 
Ed Snider - @edsnider | www.edsnider.net 
Developer at InfernoRed Technology 
Co-Organizer of NoVA Mobile C# Developers’ Group 
www.infernored.com 
@infernoredtech 
www.novamobiledev.org 
@novamobiledev
THE PROBLEM WITH 
TRADITIONAL NATIVE MOBILE 
APP DEV… 
Native mobile apps are great but here’s the problem: 
Several Platforms: Windows, iOS, Android 
Several Languages: C#, Objective-C, Java 
Maintenance nightmares 
Customers and end-users suffer
THE BENEFITS OF MULTI-PLATFORM 
NATIVE MOBILE APP DEV 
WITH C# Develop for all platforms with a single language – C# - using Xamarin 
Harness the power of the .NET framework 
Single solution with shared code 
Unified and consistent maintenance/testing 
Feature parity across platforms = happy end users
HOW?
LEVERAGE THE MVVM 
PATTERN 
View (UI) 
Data Binding 
Commands 
ViewModel 
Model 
Platform Specific 
Service Implementations 
Service 
Interfaces 
Connectivity 
Location 
Camera 
Etc…
SHARE CODE! 
Windows iOS Android 
View / UI 
View / UI 
Platform Specifics 
Platform Specifics 
Portable Class Library (PCL) 
ViewModels 
Models 
Core App Library 
View / UI 
Platform Specifics 
Services, Business Logic, Service Access, Data Access, etc.
XAMARIN… 
Xamarin is built on Mono 
Allows native app compilation on Android and iOS using C# 
100% API Coverage – All iOS and Android APIs 
are exposed as C# class libraries 
Up-to-date with API releases 
from Apple and Google
WINDOWS APIS 
100% Coverage
IOS APIS 
100% Coverage
ANDROID APIS 
100% Coverage
HOW XAMARIN WORKS 
C# + .NET Runtime 
Native UI 
Native Performance
XAMARIN DEVELOPMENT 
TOOLS 
Xamarin for Visual Studio Xamarin Studio for Windows and Mac
SHARE UI CODE, TOO!
XAMARIN.FORMS 
Set of APIs that abstract platform specific UI elements and behaviors 
Write UI code once and it is rendered natively across iOS, Android and Window Phone 
Use C# and/or XAML 
Ships as NuGet packages 
Views can now live in the PCL 
Mix and match with platform APIs 
Shared UI Code
XAMARIN.FORMS CONTROLS 
Pages (e.g., Master-detail, Tabs, Carousel) 
Layouts (e.g., Stack, Grid) 
Views (e.g., Button, Label) 
Cells (e.g., templates for table/list items)
XAMARIN.FORMS PAGES 
Xamarin.Forms.Page 
Represents UI screens 
Page = Activity on Android 
Page = View Controller on iOS 
Page = Page on Windows Phone 
Xamarin.Forms Pages Documentation
XAMARIN.FORMS LAYOUTS 
Represents UI containers 
Logically structures UI elements 
Xamarin.Forms Layouts Documentation
XAMARIN.FORMS VIEWS 
Represents UI controls 
Implemented natively and 
platform specific 
Entry = EditText on Android 
Entry = UITextField on iOS 
Entry = Textbox on Windows Phone 
Xamarin.Forms Views 
Documentation
SOME OTHER COOL THINGS 
ABOUT XAMARIN… 
Component Store: http://components.xamarin.com/ 
.NET Mobility Scanner: http://scan.xamarin.com/ 
F#: http://developer.xamarin.com/guides/cross-platform/ 
fsharp/fsharp_support_overview/ 
Xamarin Test Cloud: http://xamarin.com/test-cloud
RESOURCES 
Xamarin.Forms Intro 
http://developer.xamarin.com/guides/cross-platform/xamarin-forms/ 
introduction-to-xamarin-forms/ 
Code from my demo 
https://github.com/edsnider/CoffeeFinder-XamarinFormsDemo 
Image credit: https://octodex.github.com/

Contenu connexe

Tendances

Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformLiddle Fang
 
Journey into cross mobile apps development - Xamarin Forms case study
Journey into cross mobile apps development - Xamarin Forms case studyJourney into cross mobile apps development - Xamarin Forms case study
Journey into cross mobile apps development - Xamarin Forms case studyLukasz Jarmulowicz
 
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
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools reviewUday Kothari
 
General Session
General SessionGeneral Session
General SessionHerxun Inc
 
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumCordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumRakesh Jha
 
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsLearn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsEng Teong Cheah
 
Mobile Software Development
Mobile Software DevelopmentMobile Software Development
Mobile Software DevelopmentSachin Palewar
 
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioGetting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinKMS Technology
 
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
 
Cross platform technologies explained better!
Cross platform technologies explained better!Cross platform technologies explained better!
Cross platform technologies explained better!Master Software Solutions
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platformGuada Casuso
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)Mark Radacz
 
Reason why app development company choose xamarin for cross platform
Reason why app development company choose xamarin for cross platformReason why app development company choose xamarin for cross platform
Reason why app development company choose xamarin for cross platformAimore Technologies
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentAnnmarie Lanesey
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsWilliam S. Rodriguez
 

Tendances (20)

Xamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive ServicesXamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive Services
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Journey into cross mobile apps development - Xamarin Forms case study
Journey into cross mobile apps development - Xamarin Forms case studyJourney into cross mobile apps development - Xamarin Forms case study
Journey into cross mobile apps development - Xamarin Forms case study
 
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
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
General Session
General SessionGeneral Session
General Session
 
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titaniumCordova vs xamarin vs titanium
Cordova vs xamarin vs titanium
 
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsLearn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.Forms
 
Mobile Software Development
Mobile Software DevelopmentMobile Software Development
Mobile Software Development
 
Tcdnug xamarin
Tcdnug xamarinTcdnug xamarin
Tcdnug xamarin
 
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioGetting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and Xamarin
 
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
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Cross platform technologies explained better!
Cross platform technologies explained better!Cross platform technologies explained better!
Cross platform technologies explained better!
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Reason why app development company choose xamarin for cross platform
Reason why app development company choose xamarin for cross platformReason why app development company choose xamarin for cross platform
Reason why app development company choose xamarin for cross platform
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.Forms
 

Similaire à Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)

Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Ed Snider
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of appsJames Montemagno
 
DNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinMark Allan
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Xamarin
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
Apps development for mobile devices
Apps development for mobile devicesApps development for mobile devices
Apps development for mobile devicesrdresler
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsJames Montemagno
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile DevelopmentSam Basu
 
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
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersSam Basu
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with XamarinArul Kumaran
 
Xamarin workshop
Xamarin workshopXamarin workshop
Xamarin workshopNguyen Hieu
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarinJerel Hass
 
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
 
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
 
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
 

Similaire à Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14) (20)

Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Xamarin Development
Xamarin DevelopmentXamarin Development
Xamarin Development
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of apps
 
DNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Xamarin Overview
Xamarin OverviewXamarin Overview
Xamarin Overview
 
Apps development for mobile devices
Apps development for mobile devicesApps development for mobile devices
Apps development for mobile devices
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
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
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin Developers
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with Xamarin
 
Xamarin workshop
Xamarin workshopXamarin workshop
Xamarin workshop
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with 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
 
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
 
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
 

Dernier

Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 

Dernier (20)

Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 

Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)

  • 1. CROSS PLATFORM MOBILE DEV WITH C# AND XAMARIN 3 Ed Snider Aug 19 2014 Rappahannock Area Developers .NET Users Group (RADNUG)
  • 2. CONTENT Introduction The Problem with Native Mobile App Dev The Benefits of Multi-Platform Mobile Dev with C# How? - MVVM - Share Code - Xamarin Share UI Code w/ Xamarin.Forms DEMO
  • 3. INTRODUCTION Ed Snider - @edsnider | www.edsnider.net Developer at InfernoRed Technology Co-Organizer of NoVA Mobile C# Developers’ Group www.infernored.com @infernoredtech www.novamobiledev.org @novamobiledev
  • 4. THE PROBLEM WITH TRADITIONAL NATIVE MOBILE APP DEV… Native mobile apps are great but here’s the problem: Several Platforms: Windows, iOS, Android Several Languages: C#, Objective-C, Java Maintenance nightmares Customers and end-users suffer
  • 5. THE BENEFITS OF MULTI-PLATFORM NATIVE MOBILE APP DEV WITH C# Develop for all platforms with a single language – C# - using Xamarin Harness the power of the .NET framework Single solution with shared code Unified and consistent maintenance/testing Feature parity across platforms = happy end users
  • 7. LEVERAGE THE MVVM PATTERN View (UI) Data Binding Commands ViewModel Model Platform Specific Service Implementations Service Interfaces Connectivity Location Camera Etc…
  • 8. SHARE CODE! Windows iOS Android View / UI View / UI Platform Specifics Platform Specifics Portable Class Library (PCL) ViewModels Models Core App Library View / UI Platform Specifics Services, Business Logic, Service Access, Data Access, etc.
  • 9. XAMARIN… Xamarin is built on Mono Allows native app compilation on Android and iOS using C# 100% API Coverage – All iOS and Android APIs are exposed as C# class libraries Up-to-date with API releases from Apple and Google
  • 10. WINDOWS APIS 100% Coverage
  • 11. IOS APIS 100% Coverage
  • 12. ANDROID APIS 100% Coverage
  • 13. HOW XAMARIN WORKS C# + .NET Runtime Native UI Native Performance
  • 14. XAMARIN DEVELOPMENT TOOLS Xamarin for Visual Studio Xamarin Studio for Windows and Mac
  • 16. XAMARIN.FORMS Set of APIs that abstract platform specific UI elements and behaviors Write UI code once and it is rendered natively across iOS, Android and Window Phone Use C# and/or XAML Ships as NuGet packages Views can now live in the PCL Mix and match with platform APIs Shared UI Code
  • 17. XAMARIN.FORMS CONTROLS Pages (e.g., Master-detail, Tabs, Carousel) Layouts (e.g., Stack, Grid) Views (e.g., Button, Label) Cells (e.g., templates for table/list items)
  • 18. XAMARIN.FORMS PAGES Xamarin.Forms.Page Represents UI screens Page = Activity on Android Page = View Controller on iOS Page = Page on Windows Phone Xamarin.Forms Pages Documentation
  • 19. XAMARIN.FORMS LAYOUTS Represents UI containers Logically structures UI elements Xamarin.Forms Layouts Documentation
  • 20. XAMARIN.FORMS VIEWS Represents UI controls Implemented natively and platform specific Entry = EditText on Android Entry = UITextField on iOS Entry = Textbox on Windows Phone Xamarin.Forms Views Documentation
  • 21. SOME OTHER COOL THINGS ABOUT XAMARIN… Component Store: http://components.xamarin.com/ .NET Mobility Scanner: http://scan.xamarin.com/ F#: http://developer.xamarin.com/guides/cross-platform/ fsharp/fsharp_support_overview/ Xamarin Test Cloud: http://xamarin.com/test-cloud
  • 22. RESOURCES Xamarin.Forms Intro http://developer.xamarin.com/guides/cross-platform/xamarin-forms/ introduction-to-xamarin-forms/ Code from my demo https://github.com/edsnider/CoffeeFinder-XamarinFormsDemo Image credit: https://octodex.github.com/

Notes de l'éditeur

  1. If you are a windows developer you will be used to these name spaces. These are the core .NET base libraries that we know and love. If you mix in windows phone and windows store development you get new namespaces Windows. And Microsoft. With platform specific APIs
  2. Xamarin gives you the best of both worlds with full support for the .NET Framework (your System. Libraries) Then they create C# bindings for every API in iOS and Android As you can see here there are a few, CoreGraphics, CoreMotion, etc, These are your platform specific bits to take advantage of everything in iOS
  3. Then they do the same thing for Android so here you get the Android specifics Renderscript, NFC to do cool phone tapping of data transfer And text to speech apis to make your app shine
  4. On iOS Xamarin Compiles the C# down to IL (intermediate language) Then Xamarin create LLVM bit code Then the LLVM bit code runs through the same LLVM Compiler and Optimizer that apple users for objective-c code Creating the final native arm binary. On Android they use an advanced compiler and linking to IL and then JIT to create native instructions at runtime for optimal performance which often can be faster than the dalvik runtime.