SlideShare a Scribd company logo
1 of 25
Cross Platform Native Mobile App
Development in C#
Using Xamarin 2.0 and Visual Studio 2012
Talbott Crowell
@talbott
Native Mobile App Dev Today
• Many different IDE’s
– Eclipse, Visual Studio, Xcode
• Many different Languages
– Java, C#, Objective-C
• Many different Frameworks
– Android SDK, Windows Phone SDK, iOS SDK
Solution
• Xamarin 2.0 Business Edition or better
• Visual Studio 2012 Professional or better
• MvvmCross
• One language C# via Mono
MVVM
Model ViewViewModel
MVVM Libraries
• http://nuget.org/packages?q=MVVM
• 279 results
• Including
– Knockout.js (JavaScript)
– MVVM Light
– Caliburn.Micro
• MvvmCross
– Used by many Xamarin
projects
• ZK
– For Java
• PRISM
– The Original from MSP&P
• Simple MVVM
– On CodePlex
Other Frameworks
Implementing the MVVM Pattern
• MSDN: http://bit.ly/impmvvm
MvvmCross @slodge
• https://www.youtube.com/user/MrHollywoof
• Lots of great YouTube videos on how to use
MvvmCross
Portable Class
Library
• Stuart Lodge: My
current PCL setup in
Visual Studio for the
Xamarin twins
• http://bit.ly/pclhack
Shared Core
Environment Setup
• iOS
• Android
• Windows Phone
Xamarin.iOS
• System Requirements
– Mac Hardware with MacOS
• Required for compiling
– iOS Simulator
• Comes with Xcode
– iPhone
• Get UUID from iTunes
• Register the Device on the iOS
Provisioning Portal
• Create and download a Provisioning
Profile
• Add it to Xcode Organizer under Devices
Xamarin.Android
• Needs Android
SDK Tools latest
update
Android Virtual Device Manager
• AVD Manager
• Edit Existing, change name and Platform
Targeting Android Versions
4.0%
33.0%
58.6% 58.7%
95.1% 95.2% 98.4% 99.9% 100.0%
0.0%
20.0%
40.0%
60.0%
80.0%
100.0%
120.0%
Users
Windows Phone 8
• Uses Hyper-V for Emulator
• From a Mac using Parallels 8 turn on Nested
Virtualization
– Allows for a VM within a VM
– Also requires Intel CPU with EPT
• Available in all Intel Nehalem-based CPUs with virtualization
support; namely in Core i7, Core i5, Core i3, Pentium G6950
and appropriate Xeons
Using “Hello World” to Verify
• Xamarin installs templates for iOS and Android
• Install the Windows Phone SDK for WP8
• Use Visual Studio
project templates
to test each
platform
MvvmCross and NuGet
• Using NuGet you can search for “mvvmcross” to
find all the packages you need
• Create a PCL
– Install Hot Tuna
• Add a new iPhone, Android, and Windows Phone
Project and add Hot Tuna to each
– Hot Tuna (MvvmCross v3) comes with to-do
instructions for each
Leveraging the MvvmCross Plugins
• Plugins for
– Location Services
– Messaging
– Picture Chooser
– JSON
– Much more…
Extend Beyond Xamarin
• Xamarin enables you to reference Java and
Objective C libraries using a “binding” process
• Leveraging a Java library for Android (JAR)
– http://bit.ly/bindingJar
• Leveraging an iOS library
– http://bit.ly/bindingObjectiveC
Build Plugin for MvvmCross
• If you want to build your own plug-in for
MvvmCross, there is info online
– http://bit.ly/mvxplugin
Other Supported Platforms
• Phone
– iPhone, Android, Windows Phone 7.5 and WP8
• Tablet
– iPad, Android, Windows Store (WinRT)
• Desktop
– Mac, Windows Store (WinRT), WPF
• Browser
– Silverlight
Summary
• Using the following tools:
– Xamarin 2.0 Business Edition
– Visual Studio 2012 Professional
– MvvmCross (Mvx)
• You can create native cross platform mobile
applications
Resources
• Bit.ly bundle with links to videos, slides, blog
posts, etc…
– http://bitly.com/bundles/talbott/1
– Look for the MvvmCross badge on blog posts and
videos
• Slides: http://bit.ly/xplatslides
Cross Platform Native Mobile App
Development in C#
Using Xamarin 2.0 and Visual Studio 2012
Talbott Crowell
@talbott
Thank you for coming to

More Related Content

More from Talbott Crowell

Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point appTalbott Crowell
 
PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012Talbott Crowell
 
PowerShell and SharePoint
PowerShell and SharePointPowerShell and SharePoint
PowerShell and SharePointTalbott Crowell
 
Exploring SharePoint with F#
Exploring SharePoint with F#Exploring SharePoint with F#
Exploring SharePoint with F#Talbott Crowell
 
Automating PowerShell with SharePoint
Automating PowerShell with SharePointAutomating PowerShell with SharePoint
Automating PowerShell with SharePointTalbott Crowell
 
SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010Talbott Crowell
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointTalbott Crowell
 
Architecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureArchitecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureTalbott Crowell
 

More from Talbott Crowell (12)

Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
Introduction to F# 3.0
Introduction to F# 3.0Introduction to F# 3.0
Introduction to F# 3.0
 
PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012
 
PowerShell and SharePoint
PowerShell and SharePointPowerShell and SharePoint
PowerShell and SharePoint
 
Welcome to windows 8
Welcome to windows 8Welcome to windows 8
Welcome to windows 8
 
Exploring SharePoint with F#
Exploring SharePoint with F#Exploring SharePoint with F#
Exploring SharePoint with F#
 
Automating PowerShell with SharePoint
Automating PowerShell with SharePointAutomating PowerShell with SharePoint
Automating PowerShell with SharePoint
 
F# And Silverlight
F# And SilverlightF# And Silverlight
F# And Silverlight
 
SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Architecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureArchitecting Solutions for the Manycore Future
Architecting Solutions for the Manycore Future
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
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 FresherRemote DBA Services
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio

  • 1. Cross Platform Native Mobile App Development in C# Using Xamarin 2.0 and Visual Studio 2012 Talbott Crowell @talbott
  • 2. Native Mobile App Dev Today • Many different IDE’s – Eclipse, Visual Studio, Xcode • Many different Languages – Java, C#, Objective-C • Many different Frameworks – Android SDK, Windows Phone SDK, iOS SDK
  • 3. Solution • Xamarin 2.0 Business Edition or better • Visual Studio 2012 Professional or better • MvvmCross • One language C# via Mono
  • 5. MVVM Libraries • http://nuget.org/packages?q=MVVM • 279 results • Including – Knockout.js (JavaScript) – MVVM Light – Caliburn.Micro
  • 6. • MvvmCross – Used by many Xamarin projects • ZK – For Java • PRISM – The Original from MSP&P • Simple MVVM – On CodePlex Other Frameworks
  • 7. Implementing the MVVM Pattern • MSDN: http://bit.ly/impmvvm
  • 8. MvvmCross @slodge • https://www.youtube.com/user/MrHollywoof • Lots of great YouTube videos on how to use MvvmCross
  • 9. Portable Class Library • Stuart Lodge: My current PCL setup in Visual Studio for the Xamarin twins • http://bit.ly/pclhack
  • 11. Environment Setup • iOS • Android • Windows Phone
  • 12. Xamarin.iOS • System Requirements – Mac Hardware with MacOS • Required for compiling – iOS Simulator • Comes with Xcode – iPhone • Get UUID from iTunes • Register the Device on the iOS Provisioning Portal • Create and download a Provisioning Profile • Add it to Xcode Organizer under Devices
  • 14. Android Virtual Device Manager • AVD Manager • Edit Existing, change name and Platform
  • 15. Targeting Android Versions 4.0% 33.0% 58.6% 58.7% 95.1% 95.2% 98.4% 99.9% 100.0% 0.0% 20.0% 40.0% 60.0% 80.0% 100.0% 120.0% Users
  • 16. Windows Phone 8 • Uses Hyper-V for Emulator • From a Mac using Parallels 8 turn on Nested Virtualization – Allows for a VM within a VM – Also requires Intel CPU with EPT • Available in all Intel Nehalem-based CPUs with virtualization support; namely in Core i7, Core i5, Core i3, Pentium G6950 and appropriate Xeons
  • 17. Using “Hello World” to Verify • Xamarin installs templates for iOS and Android • Install the Windows Phone SDK for WP8 • Use Visual Studio project templates to test each platform
  • 18. MvvmCross and NuGet • Using NuGet you can search for “mvvmcross” to find all the packages you need • Create a PCL – Install Hot Tuna • Add a new iPhone, Android, and Windows Phone Project and add Hot Tuna to each – Hot Tuna (MvvmCross v3) comes with to-do instructions for each
  • 19. Leveraging the MvvmCross Plugins • Plugins for – Location Services – Messaging – Picture Chooser – JSON – Much more…
  • 20. Extend Beyond Xamarin • Xamarin enables you to reference Java and Objective C libraries using a “binding” process • Leveraging a Java library for Android (JAR) – http://bit.ly/bindingJar • Leveraging an iOS library – http://bit.ly/bindingObjectiveC
  • 21. Build Plugin for MvvmCross • If you want to build your own plug-in for MvvmCross, there is info online – http://bit.ly/mvxplugin
  • 22. Other Supported Platforms • Phone – iPhone, Android, Windows Phone 7.5 and WP8 • Tablet – iPad, Android, Windows Store (WinRT) • Desktop – Mac, Windows Store (WinRT), WPF • Browser – Silverlight
  • 23. Summary • Using the following tools: – Xamarin 2.0 Business Edition – Visual Studio 2012 Professional – MvvmCross (Mvx) • You can create native cross platform mobile applications
  • 24. Resources • Bit.ly bundle with links to videos, slides, blog posts, etc… – http://bitly.com/bundles/talbott/1 – Look for the MvvmCross badge on blog posts and videos • Slides: http://bit.ly/xplatslides
  • 25. Cross Platform Native Mobile App Development in C# Using Xamarin 2.0 and Visual Studio 2012 Talbott Crowell @talbott Thank you for coming to