SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Welcome to The
Dallas C# SIG!
Hosted by Improving Enterprises
Visual Studio + Xamarin = 💜
Adam Hill
Looking for new opportunities
adam.hill@gmail.com
@adamhill
How Visual Studio & Xamarin Makes Mobile
Development Awesome
And I Have The Word Cloud To Prove It
(Actually from my Twitter feed!)
So Why Does It Equal Love?
• We all have pain points / friction in our day to day
development.
• For mobile this is compounded - iOS, Android,
UWP x display size /DPI x RAM
• How can we program, let alone test all of these
permutations?
• My favorite solution - Xamarin
Enter Xamarin
• Framework to encapsulate the UI and device specifics. You
can choose classes and code behind (WinForms style) or
Xamarin Forms (XAML + MVVM goodness, like WPF)
• C# Portable Class Libraries or Shared Projects for the non-
UI parts and testing.
• Uses(d) Mono runtime + AOT to target devices (now you
can target .NET Core)
• You can target iOS, Android, UWP and Mac - need Mac
hardware for iOS & Mac dev.
For Those That Have Been
Under A Rock
• Microsoft bought Xamarin in March’ish
• Xamarin is now free.
• Xamarin bits are now OSS
• Xamarin is included in Visual Studio 2015
Update 3
• Not many excuses now 😀
Things We Are Familiar With
As Visual Studio Developers
• Great IDE
• One click deployment
• Integrated debugging
• Simulators or devices (iOS Simulator Remoting)
• R#!
Ecosystem
• Fully integrated into
• Nuget (even OS bits)
• Extensions
• Components store
• Azure (Micheal Perry has a great talk)
• VSTS Team Services / TFS integration
Frameworks & Nuget
• Lots of non-UI Nugets have PCL support now.
• Familiar client side libraries are there
• Noda Time
• Humanizer
• Newtonsoft
• AutoMapper
IoC
• Unity
• Ninject
• Autofac
• Castle Windsor
• Tiny IoC
• Dependency Service for OS specific dependencies
that needs to be switched out at runtime.
http://arteksoftware.com/ioc-containers-with-xamarin/
MVVM
• Prism
• Caliburn.Micro
• MVVM Lite
• MVVM Cross
• Reactive UI (used in Slack client)
• Even Xamarin only ones are popping up!
• Fresh MVVM
• Pillar
• MVVM Nano
Testing
• nUnit
• xUnit
• Visual Studio Test Recorder
• Xamarin Test Cloud
Embraces change rapidly
• Full language support - C#6-7, F# (yes you heard
me correctly)
• New mobile OS support within 24 hours (during
beta period for the OS they track updates)
• Specific tech for platforms are supported
(Bitcode and slicing for iOS, Material Design
particulars for Android Marshmallow and Nougat)
Embraces OSS
• Mono (even the secret sauce bits for AOT and
Bitcode)
• .NET Core
• Xamarin iOS, Android and Forms
• If there is a bug, contributions are welcome
Example: Evolve 2016 App
• Xamarin has a conference every year called
Evolve
• They wanted an app to help attendees find talks
and now whats going on during the conference
• Hey, we can do that! 😀
Evolve 2016
• 4 person team
• 6’ish weeks of development
• Features
• Azure Mobile / Online & Offiline Sync
• Calendaring
• Maps
• Push notification
• Linking to and from the app (phone, Universal links, Google App
Indexing)
Quick Demo of One App
Deployed Three Ways
Testing
https://testcloud.xamarin.com/test/evolve16_b6eac105-15e3-412d-b9a7-539f71c41c99/
https://testcloud.xamarin.com/test/evolve16_2857b3a8-e28a-4363-a174-60b076a047f9/
How much reuse?
15,000 lines of code
Wrap Up
• Xamarin is integrated well into Visual Studio
• Provides the same experience we are used to in
the Windows ecosystem.
• Top tier tooling support
• Embraces OSS
• You can develop cross-platform apps with less
friction and more 💜
Thanks!

Más contenido relacionado

La actualidad más candente

Infinum iOS Talks #2 - Xamarin by Ivan Đikić
Infinum iOS Talks #2 - Xamarin by Ivan ĐikićInfinum iOS Talks #2 - Xamarin by Ivan Đikić
Infinum iOS Talks #2 - Xamarin by Ivan ĐikićInfinum
 
ITS320 Presentation
ITS320 PresentationITS320 Presentation
ITS320 Presentationleena1990
 
Java presetstion
Java presetstionJava presetstion
Java presetstionleena1990
 
Its320 power point
Its320 power pointIts320 power point
Its320 power pointleena1990
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapSasha Goldshtein
 
Hot tuna - from Sean Cross
Hot tuna - from Sean CrossHot tuna - from Sean Cross
Hot tuna - from Sean CrossStuart Lodge
 
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.FormsMvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.FormsLeaware.com
 
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMicrosoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMd Kamal Azhar
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave enginewaveengineteam
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMJim Bennett
 
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
 
Automating your mac farm for iOS build and automation
Automating your mac farm for iOS build and automationAutomating your mac farm for iOS build and automation
Automating your mac farm for iOS build and automationMikhail Advani
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinDeepu S Nath
 

La actualidad más candente (19)

Evolve 2016
Evolve 2016Evolve 2016
Evolve 2016
 
Evolve 2014
Evolve 2014Evolve 2014
Evolve 2014
 
Infinum iOS Talks #2 - Xamarin by Ivan Đikić
Infinum iOS Talks #2 - Xamarin by Ivan ĐikićInfinum iOS Talks #2 - Xamarin by Ivan Đikić
Infinum iOS Talks #2 - Xamarin by Ivan Đikić
 
ITS320 Presentation
ITS320 PresentationITS320 Presentation
ITS320 Presentation
 
Java presetstion
Java presetstionJava presetstion
Java presetstion
 
Its320 power point
Its320 power pointIts320 power point
Its320 power point
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
 
Hot tuna - from Sean Cross
Hot tuna - from Sean CrossHot tuna - from Sean Cross
Hot tuna - from Sean Cross
 
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.FormsMvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
Mvvm Pattern in Xamarin - MvvmCross and Xamarin.Forms
 
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMicrosoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
 
MvvmCross
MvvmCrossMvvmCross
MvvmCross
 
State of the Platforms
State of the PlatformsState of the Platforms
State of the Platforms
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave engine
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave engine
 
WaveEngine services
WaveEngine servicesWaveEngine services
WaveEngine services
 
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#
 
Automating your mac farm for iOS build and automation
Automating your mac farm for iOS build and automationAutomating your mac farm for iOS build and automation
Automating your mac farm for iOS build and automation
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 

Similar a Visual studio + Xamarin == Love

Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinGuy Barrette
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarinDaniel Fikre
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365SoHo Dragon
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 
Xamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationXamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationGabor Wnuk
 
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
 
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
 
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
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!James Montemagno
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaAllan Cleysson
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinShravan Kumar Kasagoni
 
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossBuild Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossIshai Hachlili
 
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
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDamir Beylkhanov
 

Similar a Visual studio + Xamarin == Love (20)

Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Xamarin Tecnhologies
Xamarin TecnhologiesXamarin Tecnhologies
Xamarin Tecnhologies
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Xamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationXamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputation
 
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
 
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
 
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...
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossBuild Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
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
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 

Más de Adam Hill

PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfPapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfAdam Hill
 
The Rendering Equation
The Rendering EquationThe Rendering Equation
The Rendering EquationAdam Hill
 
Clojure Intro - Dallas Functional
Clojure Intro - Dallas FunctionalClojure Intro - Dallas Functional
Clojure Intro - Dallas FunctionalAdam Hill
 
Dallas Functional - Homoiconcity
Dallas Functional - HomoiconcityDallas Functional - Homoiconcity
Dallas Functional - HomoiconcityAdam Hill
 
Micro Talk - Test Your S#!? !
Micro Talk - Test Your S#!? !Micro Talk - Test Your S#!? !
Micro Talk - Test Your S#!? !Adam Hill
 
Library, Library Lets Use THAT Library – DFW Mobile
Library, Library Lets Use THAT Library  – DFW MobileLibrary, Library Lets Use THAT Library  – DFW Mobile
Library, Library Lets Use THAT Library – DFW MobileAdam Hill
 
10 Minute UX Talk Designing Data Visualization
10 Minute UX Talk   Designing Data Visualization10 Minute UX Talk   Designing Data Visualization
10 Minute UX Talk Designing Data VisualizationAdam Hill
 
Functional Testing
Functional TestingFunctional Testing
Functional TestingAdam Hill
 
Are You Live Coding at Me?!!
Are You Live Coding at Me?!!Are You Live Coding at Me?!!
Are You Live Coding at Me?!!Adam Hill
 
Looking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesLooking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesAdam Hill
 
Deploy All The Games
Deploy All The GamesDeploy All The Games
Deploy All The GamesAdam Hill
 
Whats New in Visual Studio 2015
Whats New in Visual Studio 2015Whats New in Visual Studio 2015
Whats New in Visual Studio 2015Adam Hill
 
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018Adam Hill
 
Clojure intro Dallas Functional
Clojure intro   Dallas FunctionalClojure intro   Dallas Functional
Clojure intro Dallas FunctionalAdam Hill
 
Monotouch iPhone Development – IGDA Orlando - 2007
Monotouch iPhone Development –  IGDA Orlando - 2007 Monotouch iPhone Development –  IGDA Orlando - 2007
Monotouch iPhone Development – IGDA Orlando - 2007 Adam Hill
 

Más de Adam Hill (15)

PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfPapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
 
The Rendering Equation
The Rendering EquationThe Rendering Equation
The Rendering Equation
 
Clojure Intro - Dallas Functional
Clojure Intro - Dallas FunctionalClojure Intro - Dallas Functional
Clojure Intro - Dallas Functional
 
Dallas Functional - Homoiconcity
Dallas Functional - HomoiconcityDallas Functional - Homoiconcity
Dallas Functional - Homoiconcity
 
Micro Talk - Test Your S#!? !
Micro Talk - Test Your S#!? !Micro Talk - Test Your S#!? !
Micro Talk - Test Your S#!? !
 
Library, Library Lets Use THAT Library – DFW Mobile
Library, Library Lets Use THAT Library  – DFW MobileLibrary, Library Lets Use THAT Library  – DFW Mobile
Library, Library Lets Use THAT Library – DFW Mobile
 
10 Minute UX Talk Designing Data Visualization
10 Minute UX Talk   Designing Data Visualization10 Minute UX Talk   Designing Data Visualization
10 Minute UX Talk Designing Data Visualization
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
Are You Live Coding at Me?!!
Are You Live Coding at Me?!!Are You Live Coding at Me?!!
Are You Live Coding at Me?!!
 
Looking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesLooking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong Places
 
Deploy All The Games
Deploy All The GamesDeploy All The Games
Deploy All The Games
 
Whats New in Visual Studio 2015
Whats New in Visual Studio 2015Whats New in Visual Studio 2015
Whats New in Visual Studio 2015
 
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018
Oops Youve Got A Mobile Enterprise App – DevFestWeekend 2018
 
Clojure intro Dallas Functional
Clojure intro   Dallas FunctionalClojure intro   Dallas Functional
Clojure intro Dallas Functional
 
Monotouch iPhone Development – IGDA Orlando - 2007
Monotouch iPhone Development –  IGDA Orlando - 2007 Monotouch iPhone Development –  IGDA Orlando - 2007
Monotouch iPhone Development – IGDA Orlando - 2007
 

Último

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Visual studio + Xamarin == Love

  • 1. Welcome to The Dallas C# SIG! Hosted by Improving Enterprises
  • 2. Visual Studio + Xamarin = 💜 Adam Hill Looking for new opportunities adam.hill@gmail.com @adamhill How Visual Studio & Xamarin Makes Mobile Development Awesome
  • 3. And I Have The Word Cloud To Prove It (Actually from my Twitter feed!)
  • 4. So Why Does It Equal Love? • We all have pain points / friction in our day to day development. • For mobile this is compounded - iOS, Android, UWP x display size /DPI x RAM • How can we program, let alone test all of these permutations? • My favorite solution - Xamarin
  • 5. Enter Xamarin • Framework to encapsulate the UI and device specifics. You can choose classes and code behind (WinForms style) or Xamarin Forms (XAML + MVVM goodness, like WPF) • C# Portable Class Libraries or Shared Projects for the non- UI parts and testing. • Uses(d) Mono runtime + AOT to target devices (now you can target .NET Core) • You can target iOS, Android, UWP and Mac - need Mac hardware for iOS & Mac dev.
  • 6. For Those That Have Been Under A Rock • Microsoft bought Xamarin in March’ish • Xamarin is now free. • Xamarin bits are now OSS • Xamarin is included in Visual Studio 2015 Update 3 • Not many excuses now 😀
  • 7. Things We Are Familiar With As Visual Studio Developers • Great IDE • One click deployment • Integrated debugging • Simulators or devices (iOS Simulator Remoting) • R#!
  • 8. Ecosystem • Fully integrated into • Nuget (even OS bits) • Extensions • Components store • Azure (Micheal Perry has a great talk) • VSTS Team Services / TFS integration
  • 9. Frameworks & Nuget • Lots of non-UI Nugets have PCL support now. • Familiar client side libraries are there • Noda Time • Humanizer • Newtonsoft • AutoMapper
  • 10. IoC • Unity • Ninject • Autofac • Castle Windsor • Tiny IoC • Dependency Service for OS specific dependencies that needs to be switched out at runtime. http://arteksoftware.com/ioc-containers-with-xamarin/
  • 11. MVVM • Prism • Caliburn.Micro • MVVM Lite • MVVM Cross • Reactive UI (used in Slack client) • Even Xamarin only ones are popping up! • Fresh MVVM • Pillar • MVVM Nano
  • 12. Testing • nUnit • xUnit • Visual Studio Test Recorder • Xamarin Test Cloud
  • 13. Embraces change rapidly • Full language support - C#6-7, F# (yes you heard me correctly) • New mobile OS support within 24 hours (during beta period for the OS they track updates) • Specific tech for platforms are supported (Bitcode and slicing for iOS, Material Design particulars for Android Marshmallow and Nougat)
  • 14. Embraces OSS • Mono (even the secret sauce bits for AOT and Bitcode) • .NET Core • Xamarin iOS, Android and Forms • If there is a bug, contributions are welcome
  • 15. Example: Evolve 2016 App • Xamarin has a conference every year called Evolve • They wanted an app to help attendees find talks and now whats going on during the conference • Hey, we can do that! 😀
  • 16. Evolve 2016 • 4 person team • 6’ish weeks of development • Features • Azure Mobile / Online & Offiline Sync • Calendaring • Maps • Push notification • Linking to and from the app (phone, Universal links, Google App Indexing)
  • 17. Quick Demo of One App Deployed Three Ways
  • 19. How much reuse? 15,000 lines of code
  • 20. Wrap Up • Xamarin is integrated well into Visual Studio • Provides the same experience we are used to in the Windows ecosystem. • Top tier tooling support • Embraces OSS • You can develop cross-platform apps with less friction and more 💜