SlideShare a Scribd company logo
dan.ardelean@mahiz.it
DESIGN	
  –DEVELOP	
  -­‐ INTEGRATE TEST MONITOR
LEARN
iOS WindowsAndroid
Objective-­‐C
Xcode
C#
Visual	
  Studio
Java
Android	
  Studio
No	
  shared	
  code	
  • Many	
  languages	
  &	
  development	
  environments	
  • Multiple	
  teams
App	
  Generator
Lua
Javascript
Actionscript
HTML+CSS
Limited	
  native	
  API	
  access	
  • Slow	
  performance	
  	
  • Poor	
  user	
  experience
Shared	
  C#	
  codebase	
  	
  • 100%	
  native	
  API	
  access • High	
  performance
iOS	
  C#	
  UI Windows	
  C#	
  UIAndroid	
  C#	
  UI
Shared	
  C#	
  Mobile
Traditional	
  Xamarin	
  Approach With	
  Xamarin.Forms:
More	
  code-­‐sharing,	
  all	
  native
iOS	
  C#	
  UI Windows	
  C#	
  UIAndroid	
  C#	
  UI
Shared	
  C#	
  Backend
Shared	
  UI	
  Code
Shared	
  C#	
  Backend
Xamarin.iOS does	
  full	
  Ahead	
  Of	
  Time	
  
(AOT)	
  compilation	
  to	
  produce	
  an	
  ARM	
  
binary	
  for	
  Apple’s	
  App	
  Store.
Xamarin.Androidtakes	
  advantage	
  of	
  
Just	
  In	
  Time	
  (JIT)	
  compilation	
  on	
  the	
  
Android	
  device.
.NET
C#
Compile
and Link
.APK
Bindings
Runs
Natively
IL
+
JIT
✓Always	
  Up-­‐to-­‐Date
•
•
•
•
•
•
•
•
•
•
✓ 40+	
  Pages,	
  layouts,	
  and	
  controls
(Build	
  from	
  code	
  behind	
  or	
  XAML)
✓ Two-­‐way	
  data	
  binding
✓ Navigation
✓ Animation	
  API
✓ Dependency	
   Service
✓ Messaging	
  Center
Shared	
  C#	
  Backend
Shared	
  UI	
  Code
<?xml version="1.0"  encoding="UTF-­‐8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<TabbedPage.Children>
<ContentPage Title="Profile"  Icon="Profile.png">
<StackLayout Spacing="20" Padding="20"
VerticalOptions="Center">
<Entry Placeholder="Username"
Text="{Binding  Username}"/>
<Entry Placeholder="Password"
Text="{Binding  Password}"
IsPassword="true"/>
<Button Text="Login"  TextColor="White"
BackgroundColor="#77D065"
Command="{Binding  LoginCommand}"/>
</StackLayout>
</ContentPage>
<ContentPage Title="Settings"  Icon="Settings.png">
<!-­‐-­‐ Settings -­‐-­‐>
</ContentPage>
</TabbedPage.Children>
Which	
  Xamarin	
  approach is	
  best	
  
for	
  your	
  app?
Xamarin.Forms is	
  best	
  for: Xamarin.iOS /	
  Xamarin.Android is	
  best	
  for:
• Data entry apps
• Prototypes and proofs-of-concept
• Apps that require little platform-specific
functionality
• Apps where code sharing is more important than
custom UI
Learn	
  more:	
  xamarin.com/forms Learn	
  more:	
  xamarin.com/platform
• Apps that require specialized interaction
• Apps with highly polished design
• Apps that use many platform-specific APIs
• Apps where custom UI is more important than
code sharing
Layouts
Pages
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Xamarin.Forms Ecosystem
Embed	
  Custom	
  Views	
  Anywhere
Not	
  only	
  are	
  Xamarin.Forms
pages	
  	
  mixable	
  with	
  custom	
  
screens,	
  you	
  can	
  embed	
  custom	
  
views	
  built	
  directly	
  against	
  
Xamarin.iOS and	
  
Xamarin.Android into	
  
Xamarin.Forms pages.
Call	
  Platform	
  APIs	
  via	
  Shared	
  Services
Need	
  platform-­‐specific	
  functionality	
  
within	
  a	
  Xamarin.Forms page,	
  such	
  as	
  
querying	
   the	
  accelerometer?	
  We’ve	
  
included	
  services	
  that	
  quickly	
  and	
  easily	
  
abstract	
  platform-­‐specific	
  API	
  calls	
  to	
  
keep	
  you	
  writing	
  as	
  much	
  shared	
  code	
  as	
  
possible.
Easy	
  migration	
  to	
  the	
  Xamarin	
  
Platform
When	
  your	
  native	
  platform	
  
integration	
  requirements	
  outgrow	
  
Xamarin.Forms,	
  your	
  shared	
  code	
  is	
  
easily	
  migrated	
  to	
  Xamarin.iOS and	
  
Xamarin.Android using	
  the	
  full	
  
Xamarin	
  platform.
What	
  if	
  we	
  didn’t	
  have	
  to	
  
write	
  this	
  code?
What	
  if	
  we	
  could	
  access	
  it	
  
from	
  shared	
  code?
UI+APIs UI	
  +	
  APIsUI	
  +	
  APIs
Battery
GPS
Lights
Notifications
Settings
Text	
  To	
  Speech
Battery
GPS
Lights
Notifications
Settings
Text	
  To	
  Speech
Battery
GPS
Lights
Notifications
Settings
Text	
  To	
  Speech
TextToSpeech
Speak(“Hello	
  World”);
AVSpeechSynthesizer SpeechSynthesizer
Common	
  API
5
20
20
35
6
OS	
  versions
Devices
Languages
Locales
Screen	
  sizes
9
19K+
39
57
27
15
6
OS	
  versions
Distinct	
  devices
Languages
Locales
Screen	
  sizes
Manufacturers
Screen	
  configurations
Thousands	
  of	
  iOS and	
  Android	
  APIs
Public	
  web	
  APIs
Backend	
  integrations
Third	
  party	
  libraries
Memory,	
  CPU	
  and	
  network	
  constraints
Free	
  30	
  Day	
  Trial	
  -­‐ xamarin.com/university
Unrivaled	
  Mobile	
  
Development	
  
Training
Live	
  unlimited	
  mobile	
  development	
  training	
  from	
  
mobile	
  experts,	
  in	
  your	
  time-­‐zone,	
  on	
  your	
  schedule,	
  
and	
  as	
  often	
  as	
  you'd	
  like.

More Related Content

What's hot

SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
Hector Luciano Jr
 
Xamarin.Forms - Building Cross Platform Mobile Apps
Xamarin.Forms - Building Cross Platform Mobile AppsXamarin.Forms - Building Cross Platform Mobile Apps
Xamarin.Forms - Building Cross Platform Mobile Apps
WinWire Technologies Inc
 
Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conference
Christopher Miller
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
Xamarin
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
Rui Marinho
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
Pranav Ainavolu
 
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
Mark Arteaga
 
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
danhermes
 
Xamarin Forms, MVVM and Testing
Xamarin Forms, MVVM and TestingXamarin Forms, MVVM and Testing
Xamarin Forms, MVVM and Testing
Gyuwon Yi
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
Rui Marinho
 
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
Nick Landry
 
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Paulo Cesar Ortins Brito
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
Xamarin
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
Xamarin
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
Xamarin
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
Nicolò Carandini
 
Mobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBMMobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBM
Xamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
bryan costanich
 
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin FormsPembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
Yoza Aprilio
 

What's hot (20)

SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Xamarin.Forms - Building Cross Platform Mobile Apps
Xamarin.Forms - Building Cross Platform Mobile AppsXamarin.Forms - Building Cross Platform Mobile Apps
Xamarin.Forms - Building Cross Platform Mobile Apps
 
Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conference
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
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
 
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 Forms, MVVM and Testing
Xamarin Forms, MVVM and TestingXamarin Forms, MVVM and Testing
Xamarin Forms, MVVM and Testing
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
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
 
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Use Xamarin.Forms and surprise your customers when develop native apps, in le...
Use Xamarin.Forms and surprise your customers when develop native apps, in le...
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
 
Mobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBMMobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBM
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin FormsPembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
 

Similar to Xamarin.Forms - Your Complete Mobile Solution

Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Christos Matskas
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
Vinicius Quaiato
 
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Guy Barrette
 
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet WestideIntroduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet Westide
James Montemagno
 
Introduction to xamarin.forms
Introduction to xamarin.formsIntroduction to xamarin.forms
Introduction to xamarin.forms
Abhishek Kumar Gupta
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.Forms
Alessandro Pozone
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
James Montemagno
 
Overview to iOS & Android Development using Visual Studio 2017 & Xamarin
Overview to iOS & Android Development using Visual Studio 2017 & XamarinOverview to iOS & Android Development using Visual Studio 2017 & Xamarin
Overview to iOS & Android Development using Visual Studio 2017 & Xamarin
Mark Arteaga
 
Getting Started with Xamarin App Development
Getting Started with Xamarin App DevelopmentGetting Started with Xamarin App Development
Getting Started with Xamarin App Development
Jasjit Chopra
 
Introducing Xamarin 3
Introducing Xamarin 3Introducing Xamarin 3
Introducing Xamarin 3
Pierce Boggan
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?
Dan Ardelean
 
Xamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development SolutionXamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development Solution
Ramin mohmaad hoseini
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And Xamarin
Amal Dev
 
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
 
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
SMAU
 
Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
Abhishek-Joshi
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
Liddle Fang
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
Matthew Soucoup
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
Fabio Cozzolino
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
James Montemagno
 

Similar to Xamarin.Forms - Your Complete Mobile Solution (20)

Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
 
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet WestideIntroduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet Westide
 
Introduction to xamarin.forms
Introduction to xamarin.formsIntroduction to xamarin.forms
Introduction to xamarin.forms
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.Forms
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
 
Overview to iOS & Android Development using Visual Studio 2017 & Xamarin
Overview to iOS & Android Development using Visual Studio 2017 & XamarinOverview to iOS & Android Development using Visual Studio 2017 & Xamarin
Overview to iOS & Android Development using Visual Studio 2017 & Xamarin
 
Getting Started with Xamarin App Development
Getting Started with Xamarin App DevelopmentGetting Started with Xamarin App Development
Getting Started with Xamarin App Development
 
Introducing Xamarin 3
Introducing Xamarin 3Introducing Xamarin 3
Introducing Xamarin 3
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?
 
Xamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development SolutionXamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development Solution
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And Xamarin
 
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...
 
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
 
Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 

More from Commit University

Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Commit University
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Commit University
 
Slide-10years.pdf
Slide-10years.pdfSlide-10years.pdf
Slide-10years.pdf
Commit University
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Commit University
 
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
Commit University
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
Commit University
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Commit University
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
Commit University
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
Commit University
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
Commit University
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
Commit University
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
Commit University
 

More from Commit University (20)

Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
 
Slide-10years.pdf
Slide-10years.pdfSlide-10years.pdf
Slide-10years.pdf
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Xamarin.Forms - Your Complete Mobile Solution

  • 2. DESIGN  –DEVELOP  -­‐ INTEGRATE TEST MONITOR LEARN
  • 3. iOS WindowsAndroid Objective-­‐C Xcode C# Visual  Studio Java Android  Studio No  shared  code  • Many  languages  &  development  environments  • Multiple  teams
  • 4. App  Generator Lua Javascript Actionscript HTML+CSS Limited  native  API  access  • Slow  performance    • Poor  user  experience
  • 5. Shared  C#  codebase    • 100%  native  API  access • High  performance iOS  C#  UI Windows  C#  UIAndroid  C#  UI Shared  C#  Mobile
  • 6. Traditional  Xamarin  Approach With  Xamarin.Forms: More  code-­‐sharing,  all  native iOS  C#  UI Windows  C#  UIAndroid  C#  UI Shared  C#  Backend Shared  UI  Code Shared  C#  Backend
  • 7. Xamarin.iOS does  full  Ahead  Of  Time   (AOT)  compilation  to  produce  an  ARM   binary  for  Apple’s  App  Store. Xamarin.Androidtakes  advantage  of   Just  In  Time  (JIT)  compilation  on  the   Android  device. .NET C# Compile and Link .APK Bindings Runs Natively IL + JIT
  • 9. ✓ 40+  Pages,  layouts,  and  controls (Build  from  code  behind  or  XAML) ✓ Two-­‐way  data  binding ✓ Navigation ✓ Animation  API ✓ Dependency   Service ✓ Messaging  Center Shared  C#  Backend Shared  UI  Code
  • 10. <?xml version="1.0"  encoding="UTF-­‐8"?> <TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MyApp.MainPage"> <TabbedPage.Children> <ContentPage Title="Profile"  Icon="Profile.png"> <StackLayout Spacing="20" Padding="20" VerticalOptions="Center"> <Entry Placeholder="Username" Text="{Binding  Username}"/> <Entry Placeholder="Password" Text="{Binding  Password}" IsPassword="true"/> <Button Text="Login"  TextColor="White" BackgroundColor="#77D065" Command="{Binding  LoginCommand}"/> </StackLayout> </ContentPage> <ContentPage Title="Settings"  Icon="Settings.png"> <!-­‐-­‐ Settings -­‐-­‐> </ContentPage> </TabbedPage.Children>
  • 11. Which  Xamarin  approach is  best   for  your  app? Xamarin.Forms is  best  for: Xamarin.iOS /  Xamarin.Android is  best  for: • Data entry apps • Prototypes and proofs-of-concept • Apps that require little platform-specific functionality • Apps where code sharing is more important than custom UI Learn  more:  xamarin.com/forms Learn  more:  xamarin.com/platform • Apps that require specialized interaction • Apps with highly polished design • Apps that use many platform-specific APIs • Apps where custom UI is more important than code sharing
  • 12. Layouts Pages Stack Absolute Relative Grid ContentView ScrollView Frame Content MasterDetail Navigation Tabbed Carousel
  • 13. ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  • 15. Embed  Custom  Views  Anywhere Not  only  are  Xamarin.Forms pages    mixable  with  custom   screens,  you  can  embed  custom   views  built  directly  against   Xamarin.iOS and   Xamarin.Android into   Xamarin.Forms pages. Call  Platform  APIs  via  Shared  Services Need  platform-­‐specific  functionality   within  a  Xamarin.Forms page,  such  as   querying   the  accelerometer?  We’ve   included  services  that  quickly  and  easily   abstract  platform-­‐specific  API  calls  to   keep  you  writing  as  much  shared  code  as   possible. Easy  migration  to  the  Xamarin   Platform When  your  native  platform   integration  requirements  outgrow   Xamarin.Forms,  your  shared  code  is   easily  migrated  to  Xamarin.iOS and   Xamarin.Android using  the  full   Xamarin  platform.
  • 16. What  if  we  didn’t  have  to   write  this  code? What  if  we  could  access  it   from  shared  code? UI+APIs UI  +  APIsUI  +  APIs Battery GPS Lights Notifications Settings Text  To  Speech Battery GPS Lights Notifications Settings Text  To  Speech Battery GPS Lights Notifications Settings Text  To  Speech
  • 19.
  • 20. 5 20 20 35 6 OS  versions Devices Languages Locales Screen  sizes 9 19K+ 39 57 27 15 6 OS  versions Distinct  devices Languages Locales Screen  sizes Manufacturers Screen  configurations
  • 21.
  • 22.
  • 23. Thousands  of  iOS and  Android  APIs Public  web  APIs Backend  integrations Third  party  libraries Memory,  CPU  and  network  constraints
  • 24. Free  30  Day  Trial  -­‐ xamarin.com/university Unrivaled  Mobile   Development   Training Live  unlimited  mobile  development  training  from   mobile  experts,  in  your  time-­‐zone,  on  your  schedule,   and  as  often  as  you'd  like.