SlideShare une entreprise Scribd logo
1  sur  34
S E A M L E S S L Y B L E N D I N G C r e a t i v e & T e c h n o l o g y o n
M o b i l e , T a b l e t a n d W E B
W W W . B L U E T U B E I N C . C O M
Introduction to Xamarin
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 3
Xamarin?
Xamarin Overview
• What it is
• What it isn‟t
• What the future holds
• What you‟ll need
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 4
Xamarin?
Xamarin Overview
• Okay… What else?
• Tips & tricks
• Resources
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 5
What it is…
Xamarin Overview
• Oh, you mean Monotouch?
• Mono for android?
• Xamarin.ios === Monotouch
• Xamarin.Android === Mono for Android
• Tip: google both
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 6
What it is…
Xamarin Overview
• Native?
• Compiles to native APP using:
• Objective C (iOS)
• Java (Android)
• iOS: Ahead of Time (AOT) Compiler
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 7
What it is…
Xamarin Overview
• Native?
• Native Libraries and APIs
• iOS: CocoaTouch, CoreGraphics, Quartz 2d, etc.
• ANDROID: PINVOKE, bindings, etc.
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 8
What it is…
Xamarin Overview
• C#
• C# 2.0 language features
• soon to be C# 4.0
• “Most” .NET base libraries (via Mono)
• Some variation between iOS and Android
• LINQ
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 9
What it is…
Xamarin Overview
• C#
• Generics
• Lambdas
• etc.
• Garbage Collection
• managed C# objects only
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 10
What it is…
Xamarin Overview
• iOS Objective C library support
• Xamarin “binding” to Obj C libs
• Examples:
• Google Maps, Analytics
• Red Laser
• TestFlight
• Etc.
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 11
What it is…
Xamarin Overview
• iOS Objective C library support
• Don‟t reinvent the wheel
• Many already on Github, etc.
• https://github.com/mono/monotouch-bindings
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 12
What it‟s not…
Xamarin Overview
• Shared UI Platform
• Not a great idea anyway due to varying UI
paradigms
• JIT compiling not possible
• Limits reflection code
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 13
What it‟s not…
Xamarin Overview
• Limited generics support
• Most of the useful stuff is there
• Garbage collection not perfect
• Due to the native/managed interaction
• Needs „help‟ – more disposal code than most
.NET-based solutions
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 14
What it‟s not…
Xamarin Overview
• Other limitations
• iOS:
http://docs.xamarin.com/guides/ios/advanced
_topics/limitations
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 15
What the future holds…
Xamarin Overview
• Things in Alpha/Beta channels
• C# 4.0 support
• Async/await
• Portable libraries
• iOS Designer in Xamarin Studio
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 16
What you need…
Xamarin Overview
• Xamarin license
• Specifics ON Website, RECENT changes
• https://store.xamarin.com/
• Starter edition for independent devs
• FREE
• Limited a bit
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 17
What you need…
Xamarin Overview
• Xamarin Studio
• iOS specific:
• A Mac
• XCode
• Apple Developer account
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 18
What you need…
Xamarin Overview
• Android specific:
• Android SDK
• Xamarin STUDIO installation now includes the
SDK
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 19
Other things it can do
Xamarin Overview
• Visual Studio integration
• Still need a Mac for IOS
• XCode for iOS UI design
• Until Xamarin ios designer ready
• No extra needs for Android
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 20
Other things it can do
Xamarin Overview
• Code sharing for mobile
• Done with file “linking”
• Able to share C# code between
iOS, Android, Windows phone, .NET
• Xamarin.Mac for Mac
• development in C#
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 21
Tips & Tricks
Xamarin Overview
• SQLite-net
• ORM for SQLite
• Maps C# classes to SQLite tables
• Easy to use
• https://github.com/praeclarum/sqlite-net
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 22
Tips & Tricks
Xamarin Overview
• Injection
• TinyIOC
• Simple
• https://github.com/grumpydev/TinyIoC
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 23
Tips & Tricks
Xamarin Overview
• Event Aggregator
• TinyMessenger
• Loosely coupled communication
• https://github.com/grumpydev/TinyMessenger
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 24
Tips & Tricks
Xamarin Overview
• Android Emulators
• Get a test device
• X86 has made life easier
• In Xamarin Studio, set the project to support
x86 by selecting the x86 checkbox under
Options > Build > Android Build > Advanced
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 25
Tips & Tricks
Xamarin Overview
• Test cloud!
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 26
Tips & Tricks
Xamarin Overview
• Garbage collection
• Sgen vs. Boehm
• SGEN recommended, boehm the default
• Unhook button event handlers
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 27
Tips & Tricks
Xamarin Overview
• Garbage collection
• Xamarin examples show:
Button.TouchUpInside += (sender, e) = {
//do something
};
• Avoid this
• Why?
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 28
Tips & Tricks
Xamarin Overview
• Xamarin studio tips
• Drag & drop files to nest them
• Merging iOS storyboards can be difficult
• XML, but…
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 29
Tips & Tricks
Xamarin Overview
• Xamarin studio tips
• File linking to share code between
Android, Windows phone, .NET projects, etc.
• No platform specific code
• Linking is the best option until portable libraries
are available to use
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 30
Tips & Tricks
Xamarin Overview
• Xamarin studio tips
• iOS XCode integration gotchas
• Sometimes tries to destroy your project
• Save early, save often
• Commit to SVN, GIT often
• Xamarin component store
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 31
Resources
Xamarin Overview
• Xamarin resources
• xamarin.com
• Guides: http://docs.xamarin.com/guides
• Recipes: http://docs.xamarin.com/recipes
• Samples:
http://docs.xamarin.com/samples-all
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 32
Resources
Xamarin Overview
• Android
• developer.android:
http://developer.android.com/index.html
• Device stats:
http://developer.android.com/about/dashboards/index.html
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 33
Resources
Xamarin Overview
• iOS
• Developer Library:
https://developer.apple.com/library/ios/navigation/index.html
SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 34
The end
Xamarin Overview
• These slides will be on Bluetube‟s blog
• http://blog.bluetubeinteractive.com
• Questions?

Contenu connexe

Tendances

Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#Alexey Strakh
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with XamarinXamarin
 
Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinIntroduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinJames Montemagno
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMJim Bennett
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3Xamarin
 
Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#Alius Petraška
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaAllan Cleysson
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioXamarin
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinXpand IT
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Mike Melusky
 
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student PartnerAlina Vilk
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with XamarinXpand IT
 
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSmau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSMAU
 

Tendances (19)

Xamarin2.0
Xamarin2.0Xamarin2.0
Xamarin2.0
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#
 
C# everywhere
C# everywhereC# everywhere
C# everywhere
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 
Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and XamarinIntroduction to Cross Platform Natitve Mobile Development with C# and Xamarin
Introduction to Cross Platform Natitve Mobile Development with C# and Xamarin
 
Xamarin
XamarinXamarin
Xamarin
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 
Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with Xamarin
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
 
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, MicrosoftSmau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
Smau Milano 2016 - Erica Barone e Lorenzo Barbieri, Microsoft
 

Similaire à Xamarin Overview

Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarinFoyzul Karim
 
Mobile development strategies with MVVM
Mobile development strategies with MVVMMobile development strategies with MVVM
Mobile development strategies with MVVMJames Montemagno
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppRené Winkelmeyer
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossFlavius-Radu Demian
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...Nick Landry
 
Lessons Learned from Real World Xamarin.Forms Projects
Lessons Learned from Real World Xamarin.Forms ProjectsLessons Learned from Real World Xamarin.Forms Projects
Lessons Learned from Real World Xamarin.Forms ProjectsNick Landry
 
Cross platform mobile development - you tube videos
Cross platform mobile development - you tube videosCross platform mobile development - you tube videos
Cross platform mobile development - you tube videosColin Eberhardt
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossFlavius-Radu Demian
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsWilliam S. Rodriguez
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...SUGCON
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with SitecorePieter Brinkman
 
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...Alec Tucker
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentJames Montemagno
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinNick Landry
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile appsJames Quick
 

Similaire à Xamarin Overview (20)

Xamarin for Enterprises
Xamarin for EnterprisesXamarin for Enterprises
Xamarin for Enterprises
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarin
 
Mobile development strategies with MVVM
Mobile development strategies with MVVMMobile development strategies with MVVM
Mobile development strategies with MVVM
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Lessons Learned from Real World Xamarin.Forms Projects
Lessons Learned from Real World Xamarin.Forms ProjectsLessons Learned from Real World Xamarin.Forms Projects
Lessons Learned from Real World Xamarin.Forms Projects
 
Cross platform mobile development - you tube videos
Cross platform mobile development - you tube videosCross platform mobile development - you tube videos
Cross platform mobile development - you tube videos
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.Forms
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with Sitecore
 
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile Development
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile apps
 

Plus de Catapult New Business

Plus de Catapult New Business (6)

Diving Into Xamarin.Forms
Diving Into Xamarin.Forms Diving Into Xamarin.Forms
Diving Into Xamarin.Forms
 
Power Mobile Apps with Sitecore
Power Mobile Apps with SitecorePower Mobile Apps with Sitecore
Power Mobile Apps with Sitecore
 
Xamarin Test Cloud Presentation
Xamarin Test Cloud PresentationXamarin Test Cloud Presentation
Xamarin Test Cloud Presentation
 
Sitecore DMS Personalization for Performing Arts Presentation
Sitecore DMS Personalization for Performing Arts PresentationSitecore DMS Personalization for Performing Arts Presentation
Sitecore DMS Personalization for Performing Arts Presentation
 
User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience Prototyping
 
Xamarin.Forms Introduction
Xamarin.Forms IntroductionXamarin.Forms Introduction
Xamarin.Forms Introduction
 

Dernier

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 

Dernier (20)

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 

Xamarin Overview

  • 1. S E A M L E S S L Y B L E N D I N G C r e a t i v e & T e c h n o l o g y o n M o b i l e , T a b l e t a n d W E B W W W . B L U E T U B E I N C . C O M
  • 3. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 3 Xamarin? Xamarin Overview • What it is • What it isn‟t • What the future holds • What you‟ll need
  • 4. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 4 Xamarin? Xamarin Overview • Okay… What else? • Tips & tricks • Resources
  • 5. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 5 What it is… Xamarin Overview • Oh, you mean Monotouch? • Mono for android? • Xamarin.ios === Monotouch • Xamarin.Android === Mono for Android • Tip: google both
  • 6. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 6 What it is… Xamarin Overview • Native? • Compiles to native APP using: • Objective C (iOS) • Java (Android) • iOS: Ahead of Time (AOT) Compiler
  • 7. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 7 What it is… Xamarin Overview • Native? • Native Libraries and APIs • iOS: CocoaTouch, CoreGraphics, Quartz 2d, etc. • ANDROID: PINVOKE, bindings, etc.
  • 8. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 8 What it is… Xamarin Overview • C# • C# 2.0 language features • soon to be C# 4.0 • “Most” .NET base libraries (via Mono) • Some variation between iOS and Android • LINQ
  • 9. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 9 What it is… Xamarin Overview • C# • Generics • Lambdas • etc. • Garbage Collection • managed C# objects only
  • 10. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 10 What it is… Xamarin Overview • iOS Objective C library support • Xamarin “binding” to Obj C libs • Examples: • Google Maps, Analytics • Red Laser • TestFlight • Etc.
  • 11. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 11 What it is… Xamarin Overview • iOS Objective C library support • Don‟t reinvent the wheel • Many already on Github, etc. • https://github.com/mono/monotouch-bindings
  • 12. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 12 What it‟s not… Xamarin Overview • Shared UI Platform • Not a great idea anyway due to varying UI paradigms • JIT compiling not possible • Limits reflection code
  • 13. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 13 What it‟s not… Xamarin Overview • Limited generics support • Most of the useful stuff is there • Garbage collection not perfect • Due to the native/managed interaction • Needs „help‟ – more disposal code than most .NET-based solutions
  • 14. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 14 What it‟s not… Xamarin Overview • Other limitations • iOS: http://docs.xamarin.com/guides/ios/advanced _topics/limitations
  • 15. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 15 What the future holds… Xamarin Overview • Things in Alpha/Beta channels • C# 4.0 support • Async/await • Portable libraries • iOS Designer in Xamarin Studio
  • 16. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 16 What you need… Xamarin Overview • Xamarin license • Specifics ON Website, RECENT changes • https://store.xamarin.com/ • Starter edition for independent devs • FREE • Limited a bit
  • 17. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 17 What you need… Xamarin Overview • Xamarin Studio • iOS specific: • A Mac • XCode • Apple Developer account
  • 18. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 18 What you need… Xamarin Overview • Android specific: • Android SDK • Xamarin STUDIO installation now includes the SDK
  • 19. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 19 Other things it can do Xamarin Overview • Visual Studio integration • Still need a Mac for IOS • XCode for iOS UI design • Until Xamarin ios designer ready • No extra needs for Android
  • 20. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 20 Other things it can do Xamarin Overview • Code sharing for mobile • Done with file “linking” • Able to share C# code between iOS, Android, Windows phone, .NET • Xamarin.Mac for Mac • development in C#
  • 21. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 21 Tips & Tricks Xamarin Overview • SQLite-net • ORM for SQLite • Maps C# classes to SQLite tables • Easy to use • https://github.com/praeclarum/sqlite-net
  • 22. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 22 Tips & Tricks Xamarin Overview • Injection • TinyIOC • Simple • https://github.com/grumpydev/TinyIoC
  • 23. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 23 Tips & Tricks Xamarin Overview • Event Aggregator • TinyMessenger • Loosely coupled communication • https://github.com/grumpydev/TinyMessenger
  • 24. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 24 Tips & Tricks Xamarin Overview • Android Emulators • Get a test device • X86 has made life easier • In Xamarin Studio, set the project to support x86 by selecting the x86 checkbox under Options > Build > Android Build > Advanced
  • 25. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 25 Tips & Tricks Xamarin Overview • Test cloud!
  • 26. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 26 Tips & Tricks Xamarin Overview • Garbage collection • Sgen vs. Boehm • SGEN recommended, boehm the default • Unhook button event handlers
  • 27. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 27 Tips & Tricks Xamarin Overview • Garbage collection • Xamarin examples show: Button.TouchUpInside += (sender, e) = { //do something }; • Avoid this • Why?
  • 28. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 28 Tips & Tricks Xamarin Overview • Xamarin studio tips • Drag & drop files to nest them • Merging iOS storyboards can be difficult • XML, but…
  • 29. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 29 Tips & Tricks Xamarin Overview • Xamarin studio tips • File linking to share code between Android, Windows phone, .NET projects, etc. • No platform specific code • Linking is the best option until portable libraries are available to use
  • 30. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 30 Tips & Tricks Xamarin Overview • Xamarin studio tips • iOS XCode integration gotchas • Sometimes tries to destroy your project • Save early, save often • Commit to SVN, GIT often • Xamarin component store
  • 31. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 31 Resources Xamarin Overview • Xamarin resources • xamarin.com • Guides: http://docs.xamarin.com/guides • Recipes: http://docs.xamarin.com/recipes • Samples: http://docs.xamarin.com/samples-all
  • 32. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 32 Resources Xamarin Overview • Android • developer.android: http://developer.android.com/index.html • Device stats: http://developer.android.com/about/dashboards/index.html
  • 33. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 33 Resources Xamarin Overview • iOS • Developer Library: https://developer.apple.com/library/ios/navigation/index.html
  • 34. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 34 The end Xamarin Overview • These slides will be on Bluetube‟s blog • http://blog.bluetubeinteractive.com • Questions?