SlideShare une entreprise Scribd logo
1  sur  24
XAMARIN 3 AND
XAMARIN.FORMS
Ed Snider
Aug 13 2014
NoVA Mobile C# Dev Group
CONTENT
Introduction
What is Xamarin?
Quick Review: Native Multi-Platform Mobile Architecture
What’s new with Xamarin 3
Xamarin iOS Designer
Xamarin Studio IDE Updates
Xamarin.Forms
Wrap up
INTRODUCTION
Ed Snider - @edsnider
Developer at InfernoRed Technology
Co-Organizer of NoVA Mobile C# Developers’ Group
www.infernored.com
@infernoredtech
www.novamobiledev.org
@novamobiledev
WHAT IS XAMARIN?
XAMARIN…
Xamarin is built on Mono
Allows native app compilation on Android and iOS using C#
100% API Coverage – All iOS and Android APIs
are exposed as C# class libraries
Up-to-date with API releases
from Apple and Google
WINDOWS APIS
100% Coverage
IOS APIS
100% Coverage
ANDROID APIS
100% Coverage
HOW XAMARIN WORKS
C# + .NET Runtime
Native UI
Native Performance
XAMARIN DEVELOPMENT TOOLS
Xamarin for Visual Studio Xamarin Studio for Windows and Mac
QUICK REVIEW: NATIVE MULTI-
PLATFORM MOBILE ARCHITECTURE
THE PROBLEM WITH
TRADITIONAL NATIVE MOBILE APP
DEV…
Native mobile apps are great but here’s the problem:
 Several Platforms: Windows, iOS, Android
 Several Languages: C#, Objective-C, Java
 Maintenance nightmares
 Customers and end-users suffer
THE BENEFITS OF MULTI-
PLATFORM
NATIVE MOBILE APP DEV WITH C#
Develop for all platforms with a single language – C# - using Xamarin
 Harness the power of the .NET framework
 Single solution with shared code
 Unified and consistent maintenance/testing
 Feature parity across platforms = happy end users
WHAT’S NEW WITH XAMARIN 3?
BRAND NEW IOS DESIGNER
Fully integrated in Xamarin
Studio and Visual Studio
iOS 6 / 7 Storyboard support
Intuitive event handling
Support for auto-layout
Custom controls live preview
XAMARIN STUDIO IDE
ENHANCEMENTS
NuGet Package Manager
Shared Projects
.NET BCL Documentation
F# Support
XAMARIN.FORMS
Set of APIs that abstract platform specific UI elements and behaviors
Write UI code once and it is rendered natively across iOS, Android and Window Phone
Use C# and/or XAML
Ships as NuGet packages
Views can now live in the PCL
Mix and match with platform APIs
Shared UI Code
XAMARIN.FORMS CONTROLS
Pages (e.g., Master-detail, Tabs, Carousel)
Layouts (e.g., Stack, Grid)
Views (e.g., Button, Label)
Cells (e.g., templates for table/list items)
XAMARIN.FORMS PAGES
Xamarin.Forms.Page
Represents UI screens
Page = Activity on Android
Page = View Controller on iOS
Page = Page on Windows Phone
Xamarin.Forms Pages Documentation
XAMARIN.FORMS LAYOUTS
Represents UI containers
Logically structures UI elements
Xamarin.Forms Layouts Documentation
XAMARIN.FORMS VIEWS
Represents UI controls
Implemented natively and
platform specific
Entry = EditText on Android
Entry = UITextField on iOS
Entry = Textbox on Windows Phone
Xamarin.Forms Views
Documentation
SOME OTHER COOL THINGS ABOUT
XAMARIN…
Component Store: http://components.xamarin.com/
.NET Mobility Scanner: http://scan.xamarin.com/
F#: http://developer.xamarin.com/guides/cross-
platform/fsharp/fsharp_support_overview/
Xamarin Test Cloud: http://xamarin.com/test-cloud
RESOURCES
Xamarin.Forms Intro
http://developer.xamarin.com/guides/cross-platform/xamarin-
forms/introduction-to-xamarin-forms/
Code from my demo
https://github.com/edsnider/CoffeeFinder-XamarinFormsDemo
Image credit: https://octodex.github.com/

Contenu connexe

Tendances

Tendances (20)

End to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih XamarinEnd to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih Xamarin
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of apps
 
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioGetting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
 
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 Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
.Net Standard Libraries and Xamarin
.Net Standard Libraries and Xamarin.Net Standard Libraries and Xamarin
.Net Standard Libraries and Xamarin
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
Cross-platform Mobile Development
Cross-platform Mobile DevelopmentCross-platform Mobile Development
Cross-platform Mobile Development
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and Xamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarin
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to Xamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
TechEd Europe 2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudio
TechEd Europe  2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudioTechEd Europe  2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudio
TechEd Europe 2014 DEV-B217 Go Mobile with C#, Xamarin, and Visual STudio
 

En vedette (6)

Intro to Xamarin.Forms : A C# way to develop mobile app
Intro to Xamarin.Forms : A C# way to develop mobile appIntro to Xamarin.Forms : A C# way to develop mobile app
Intro to Xamarin.Forms : A C# way to develop mobile app
 
Xamarin Forms, MVVM and Testing
Xamarin Forms, MVVM and TestingXamarin Forms, MVVM and Testing
Xamarin Forms, MVVM and Testing
 
Windows mobile
Windows mobileWindows mobile
Windows mobile
 
Creating MVC Application with backbone js
Creating MVC Application with backbone jsCreating MVC Application with backbone js
Creating MVC Application with backbone js
 
Analyzing a Simple DTD
Analyzing a Simple DTDAnalyzing a Simple DTD
Analyzing a Simple DTD
 
C# .net lecture 3 objects 3
C# .net lecture 3 objects 3C# .net lecture 3 objects 3
C# .net lecture 3 objects 3
 

Similaire à Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

Xamarin 3 hieu 19-06
Xamarin 3   hieu 19-06Xamarin 3   hieu 19-06
Xamarin 3 hieu 19-06
Nguyen Hieu
 
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
Nick Landry
 

Similaire à Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14) (20)

Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarin
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Xamarin Development
Xamarin DevelopmentXamarin Development
Xamarin Development
 
Introducing Xamarin 3
Introducing Xamarin 3Introducing Xamarin 3
Introducing Xamarin 3
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 
Xamarin Overview
Xamarin OverviewXamarin Overview
Xamarin Overview
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir Makmal
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin Developers
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Xamarin the good, the bad and the ugly
Xamarin  the good, the bad and the uglyXamarin  the good, the bad and the ugly
Xamarin the good, the bad and the ugly
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
 
How To Hire A Team To Develop WebRTC Based Applications_.pdf
How To Hire A Team To Develop WebRTC Based Applications_.pdfHow To Hire A Team To Develop WebRTC Based Applications_.pdf
How To Hire A Team To Develop WebRTC Based Applications_.pdf
 
Xamarin 3 hieu 19-06
Xamarin 3   hieu 19-06Xamarin 3   hieu 19-06
Xamarin 3 hieu 19-06
 
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
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tn
 
Xamarin among Others - Vietnam Mobile Day 2017
Xamarin among Others - Vietnam Mobile Day 2017Xamarin among Others - Vietnam Mobile Day 2017
Xamarin among Others - Vietnam Mobile Day 2017
 
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
 
Dia 1 intro to mobile and xamarin
Dia 1   intro to mobile and xamarinDia 1   intro to mobile and xamarin
Dia 1 intro to mobile and xamarin
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)

Notes de l'éditeur

  1. If you are a windows developer you will be used to these name spaces. These are the core .NET base libraries that we know and love. If you mix in windows phone and windows store development you get new namespaces Windows. And Microsoft. With platform specific APIs
  2. Xamarin gives you the best of both worlds with full support for the .NET Framework (your System. Libraries) Then they create C# bindings for every API in iOS and Android As you can see here there are a few, CoreGraphics, CoreMotion, etc, These are your platform specific bits to take advantage of everything in iOS
  3. Then they do the same thing for Android so here you get the Android specifics Renderscript, NFC to do cool phone tapping of data transfer And text to speech apis to make your app shine
  4. On iOS Xamarin Compiles the C# down to IL (intermediate language) Then Xamarin create LLVM bit code Then the LLVM bit code runs through the same LLVM Compiler and Optimizer that apple users for objective-c code Creating the final native arm binary. On Android they use an advanced compiler and linking to IL and then JIT to create native instructions at runtime for optimal performance which often can be faster than the dalvik runtime.
  5. Not only are you able to build apps for Android and iOS with C# but you can also do it all within VS to bring all your favorite tools, libraries, extensions to your mobile development Xamarin offers a very rich integration experience with Visual Studio Business license or higher Develop both iOS and Android in VS (part of File > New experience with templates, etc.) IntelliSense allows you to explore the full APIs in a consistent and familiar way Developing iOS within Visual Studio requires a networked Mac build/deployment host Xamarin also offers their own IDE, Xamarin Studio Available on Mac and Windows Available with any license Rich design surfaces for building native Uis Android UI builder with drag and drop UI tool Integration with Xcode Interface builder to build iOS Uis Built in support for Git and Subversion