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

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
[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.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
[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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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