talbott's boston mvvmcross talk

Post on 07-May-2015

2.799 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

For original: https://skydrive.live.com/view.aspx?resid=71AED2851E77C393!518&cid=71aed2851e77c393&app=PowerPoint&authkey=!AOCNLXIAFCQX5zw

TRANSCRIPT

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

MvvmCross v3 “Hot Tuna”

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

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

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

Cross Platform Native Mobile App Development in C#

Using Xamarin 2.0 and Visual Studio 2012

Talbott Crowell@talbott

Thank you for coming to

top related