0
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#, ...
Solution
• Xamarin 2.0 Business Edition or better
• Visual Studio 2012 Professional or better
• MvvmCross
• One language C...
MVVM
Model ViewViewModel
MVVM Libraries
• http://nuget.org/packages?q=MVVM
• 279 results
• Including
– Knockout.js (JavaScript)
– MVVM Light
– Cali...
• MvvmCross
– Used by many Xamarin
projects
• ZK
– For Java
• PRISM
– The Original from MSP&P
• Simple MVVM
– On CodePlex
...
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
– ...
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...
Windows Phone 8
• Uses Hyper-V for Emulator
• From a Mac using Parallels 8 turn on Nested
Virtualization
– Allows for a VM...
Using “Hello World” to Verify
• Xamarin installs templates for iOS and Android
• Install the Windows Phone SDK for WP8
• U...
MvvmCross and NuGet
• Using NuGet you can search for “mvvmcross” to
find all the packages you need
• Create a PCL
– Instal...
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
• Levera...
Build Plugin for MvvmCross
• If you want to build your own plug-in for
MvvmCross, there is info online
– http://bit.ly/mvx...
Other Supported Platforms
• Phone
– iPhone, Android, Windows Phone 7.5 and WP8
• Tablet
– iPad, Android, Windows Store (Wi...
Summary
• Using the following tools:
– Xamarin 2.0 Business Edition
– Visual Studio 2012 Professional
– MvvmCross (Mvx)
• ...
Resources
• Bit.ly bundle with links to videos, slides, blog
posts, etc…
– http://bitly.com/bundles/talbott/1
– Look for t...
Cross Platform Native Mobile App
Development in C#
Using Xamarin 2.0 and Visual Studio 2012
Talbott Crowell
@talbott
Thank...
Upcoming SlideShare
Loading in...5
×

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

1,045

Published on

Presented June 19th, 2013 at Microsoft NERD in Cambridge, MA, USA. Using Visual Studio 2012 on Windows 8 running under Parallels 8.0 on a MacBook Air, you can build, debug, and test Windows Phone 8, iPhone, and Android Phone apps using a single shared codebase in Visual Studio. For more info seehttp://talbottcrowell.wordpress.com/2013/05/21/xamarin-build-and-monkeyspace/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,045
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Cross Platform Native Mobile App Development in C# Using Xamarin 2.0 and Visual Studio 2012 Talbott Crowell @talbott
  2. 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. 3. Solution • Xamarin 2.0 Business Edition or better • Visual Studio 2012 Professional or better • MvvmCross • One language C# via Mono
  4. 4. MVVM Model ViewViewModel
  5. 5. MVVM Libraries • http://nuget.org/packages?q=MVVM • 279 results • Including – Knockout.js (JavaScript) – MVVM Light – Caliburn.Micro
  6. 6. • MvvmCross – Used by many Xamarin projects • ZK – For Java • PRISM – The Original from MSP&P • Simple MVVM – On CodePlex Other Frameworks
  7. 7. Implementing the MVVM Pattern • MSDN: http://bit.ly/impmvvm
  8. 8. MvvmCross @slodge • https://www.youtube.com/user/MrHollywoof • Lots of great YouTube videos on how to use MvvmCross
  9. 9. Portable Class Library • Stuart Lodge: My current PCL setup in Visual Studio for the Xamarin twins • http://bit.ly/pclhack
  10. 10. Shared Core
  11. 11. Environment Setup • iOS • Android • Windows Phone
  12. 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
  13. 13. Xamarin.Android • Needs Android SDK Tools latest update
  14. 14. Android Virtual Device Manager • AVD Manager • Edit Existing, change name and Platform
  15. 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. 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. 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. 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. 19. Leveraging the MvvmCross Plugins • Plugins for – Location Services – Messaging – Picture Chooser – JSON – Much more…
  20. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×