SlideShare uma empresa Scribd logo
1 de 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/

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Semelhante a 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
 
Xamarin workshop
Xamarin workshopXamarin workshop
Xamarin workshop
Nguyen Hieu
 
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
Nick Landry
 

Semelhante a 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

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/

Notas do Editor

  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.