32
Beginner’s Guide to Mobile Development with Xamarin Presented by Ben Henderson Partner & Senior Software Engineer Friday, September 6, 13

devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Embed Size (px)

DESCRIPTION

Slides from my "Beginner's Guide to Xamarin Development" session at Codestock 2013. Code from the sample app, YodaSays, can be found here: https://github.com/benhenderson/yodasays.

Citation preview

Page 1: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Beginner’s Guide to Mobile Development with

XamarinPresented by Ben Henderson

Partner & Senior Software Engineer

Friday, September 6, 13

Page 2: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

@ben_hendersonFriday, September 6, 13

Page 3: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Xamarin FanboyFriday, September 6, 13

Page 4: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Certified! ;)Friday, September 6, 13

Page 5: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Overview

• Who are Xamarin?

• Xamarin’s Toolkit

• Xamarin’s Niche

• Hello DevLink - iOS and Android

• Cross Platform Sample

• Questions and Answers

Friday, September 6, 13

Page 6: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Who are Xamarin?

Friday, September 6, 13

Page 7: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Young company, experienced team

Miguel de IcazaCTO

Joseph HillCOO

Nat FriedmanCEO

Friday, September 6, 13

Page 8: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

• 1999 Ximian - “The Mono Guys”

• 2004 Novell buys Ximian

• Sept. 2009 MonoTouch v1.0

• Early 2011 Mono for Android v1.0

• Feb. 2011 Attachmate buys Novell. Fires US workers, owns IP.

• May 2011 Xamarin is formed. Starting from scratch.

• July 2011 Xamarin and Novell reach IP agreement.

Friday, September 6, 13

Page 9: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Xamarin’s Toolkit

• C#

• Common IDE

• .NET Base Class Library

• Complete Access to Indigenous Frameworks

• Runtimes for iOS and Android

Friday, September 6, 13

Page 10: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Developer Tools

Friday, September 6, 13

Page 11: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

PricingFriday, September 6, 13

Page 12: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Compiles to native appFriday, September 6, 13

Page 13: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Xamarin’s Niche

Friday, September 6, 13

Page 14: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Abstracted Experience

Native Experience

Less Complex More Complex

Friday, September 6, 13

Page 15: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

It’s .NET!Friday, September 6, 13

Page 16: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

iOS Demo

Friday, September 6, 13

Page 17: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

iOS Resources

• Bryan Costanichhttp://www.apress.com/9781430231745

• Wally McClure, Craig Dunn, et al.http://www.wiley.com/WileyCDA/WileyTitle/productCd-047063782X.html

• Xamarin iOS docshttp://docs.xamarin.com/ios

• Evolve session videoshttp://xamarin.com/evolve/2013#ios

• Native iOS documentation

Friday, September 6, 13

Page 18: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Android Demo

Friday, September 6, 13

Page 20: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Android Resources

• Wally McClure, Jonathan Dick, et al.http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118026438.html

• Xamarin Android docshttp://docs.xamarin.com/

• Evolve session videoshttp://xamarin.com/evolve/2013#android

• Native Android documentation

Friday, September 6, 13

Page 21: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Cross Platform

• Native Experience on Many Platforms

• Shared Code

• Efficiencies from Common Core Framework, Language, and IDE

Friday, September 6, 13

Page 22: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Sample X-Platform App

Hai!

Friday, September 6, 13

Page 23: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

WireframesFriday, September 6, 13

Page 24: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

“Yoda Says” App

• iOS and Android Clients

• Shared Code - consume web service, persist data, model, and view model

• Platform Abstraction - create image

• Component Store - iOS progress HUD

• Open Source Code - TinyIoC, RestSharp, SimpleJSON

Friday, September 6, 13

Page 25: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Demo

Friday, September 6, 13

Page 26: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Project Structure

Friday, September 6, 13

Page 27: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Native and Shared Concepts

Friday, September 6, 13

Page 28: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Sample Interaction: Translation

Friday, September 6, 13

Page 29: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

X-Platform Resources

• Greg Shackleshttp://shop.oreilly.com/product/0636920024002.do

• Field Service samplehttp://xamarin.com/prebuilt/fieldservice

• Evolve session videoshttp://xamarin.com/evolve/2013#cross-platform

• MvvmCross frameworkhttps://github.com/slodge/MvvmCross

• YodaSays source on GitHubhttps://github.com/benhenderson/yodasays

Friday, September 6, 13

Page 30: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Get Started Today!

• Download Xamarin.iOS and Xamarin.Android

• Download Xcode and “obtain” a Mac

• Start a 30 day trial

Friday, September 6, 13

Page 31: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

Questions &Answers

Friday, September 6, 13

Page 32: devLink 2013: Beginner's Guide to Mobile Development with Xamarin

There is no more :(

Friday, September 6, 13