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/
Unleash Your Potential - Namagunga Girls Coding Club
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
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
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