Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio
-
Upload
talbott-crowell -
Category
Technology
-
view
995 -
download
6
description
Transcript of Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio
![Page 1: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/1.jpg)
Cross Platform Native Mobile App Development in C#
Using Xamarin 2.0 and Visual Studio 2012
Talbott Crowell@talbott
![Page 2: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/2.jpg)
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
![Page 3: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/3.jpg)
Solution• Xamarin 2.0 Business Edition or better• Visual Studio 2012 Professional or better• MvvmCross• One language C# via Mono
![Page 5: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/5.jpg)
MVVM Libraries
• http://nuget.org/packages?q=MVVM• 279 results• Including– Knockout.js (JavaScript)– MVVM Light– Caliburn.Micro
![Page 6: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/6.jpg)
• MvvmCross – Used by many Xamarin projects
• ZK – For Java
• PRISM – The Original from MSP&P
• Simple MVVM– On CodePlex
Other Frameworks
![Page 7: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/7.jpg)
Implementing the MVVM Pattern• MSDN: http://bit.ly/impmvvm
![Page 8: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/8.jpg)
MvvmCross @slodge• https://www.youtube.com/user/MrHollywoof• Lots of great YouTube videos on how to use
MvvmCross
MvvmCross v3 “Hot Tuna”
![Page 9: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/9.jpg)
Portable Class Library• Stuart Lodge: My
current PCL setup in Visual Studio for the Xamarin twins
• http://bit.ly/pclhack
![Page 12: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/12.jpg)
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
![Page 14: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/14.jpg)
Android Virtual Device Manager• AVD Manager• Edit Existing, change name and Platform
![Page 15: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/15.jpg)
Targeting Android Versions
Jelly
Bean 17
Jelly
Bean 16
Ice Crea
m Sandwich
15
Honeyco
mb 13
Gingerb
read 10
Gingerb
read 9
Froyo
8
Eclair
7
Donut 40.0%
20.0%
40.0%
60.0%
80.0%
100.0%
120.0%
4.0%
33.0%
58.6% 58.7%
95.1% 95.2% 98.4% 99.9% 100.0%
Users
Users
![Page 16: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/16.jpg)
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
![Page 17: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/17.jpg)
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
![Page 18: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/18.jpg)
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
![Page 19: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/19.jpg)
Leveraging the MvvmCross Plugins• Plugins for– Location Services– Messaging– Picture Chooser– JSON– Much more…
![Page 20: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/20.jpg)
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
![Page 21: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/21.jpg)
Build Plugin for MvvmCross• If you want to build your own plug-in for
MvvmCross, there is info online– http://bit.ly/mvxplugin
![Page 22: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/22.jpg)
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
![Page 23: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/23.jpg)
Summary• Using the following tools:– Xamarin 2.0 Business Edition– Visual Studio 2012 Professional– MvvmCross (Mvx)
• You can create native cross platform mobile applications
![Page 24: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/24.jpg)
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
![Page 25: Cross Platform Native Mobile App Development in C# using Xamarin and Visual Studio](https://reader038.fdocuments.net/reader038/viewer/2022102815/554d1794b4c9052c5a8b56de/html5/thumbnails/25.jpg)
Cross Platform Native Mobile App Development in C#
Using Xamarin 2.0 and Visual Studio 2012
Talbott Crowell@talbott
Thank you for coming to