SlideShare a Scribd company logo
#XamarinDevDays
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
✓ 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
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
Windows Xamarin.Forms
StackPanel StackLayout
TextBox Entry
ListBox ListView
CheckBox Switch
ProgressBar ActivityIndicator
Grid Grid
Label Label
Button Button
Image Image
Date/TimePicker Date/TimePicker
Windows Xamarin.Forms
DataContext BindingContext
{Binding Property} {Binding Property}
ItemsSource ItemsSource
ItemTemplate ItemTemplate
DataTemplate DataTemplate
<?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>
</TabbedPage>
Xamarin.Forms
is Open Source!
open.xamarin.com
✓ Improves scrolling performance
✓ Old behavior is currently the default (but likely to change)
XAML
Parsed and inflated
Parsed & turned
into IL
XAMLC
✓ Faster Loading
✓ Smaller App Size
✓ See XAML errors at build time
• Embeddable
Carousel
• ItemTemplate &
DataTemplates
• Highly customizable
& Virtualized
✓ Custom renderer “lite”
✓ Change properties on the native control
✓ Optional
✓ “stringly-typed”
X No methods or events
X No replacing the control
entry.Effects.Add (Effect.Resolve("Xamarin.BorderEffect"));
https://developer.xamarin.com/guides/xamarin-forms/datapages/
https://developer.xamarin.com/guides/xamarin-forms/themes/
Native Embedding
20 Minute Break
Presenter First Name
Presenter Last Name
Presenter Title
Presenter e-mail blogs Twitter

More Related Content

What's hot

Xamarin Overview by Houssem Dellai
Xamarin Overview by Houssem DellaiXamarin Overview by Houssem Dellai
Xamarin Overview by Houssem DellaiHoussem Dellai
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tnHoussem Dellai
 
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 conferenceChristopher Miller
 
Lessons Learned: 4 Months of Xamarin.Forms
Lessons Learned: 4 Months of Xamarin.FormsLessons Learned: 4 Months of Xamarin.Forms
Lessons Learned: 4 Months of Xamarin.FormsEric Polerecky
 
Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinMark Arteaga
 
Writing mobile apps with c# with Xamarin
Writing mobile apps with c# with XamarinWriting mobile apps with c# with Xamarin
Writing mobile apps with c# with Xamarinmallibone
 
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsOptimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsJames Montemagno
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoJames Montemagno
 
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...Autodesk
 
Forge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design DataForge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design DataAutodesk
 
Serverless Azure
Serverless AzureServerless Azure
Serverless AzureMark Allan
 
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsForge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsAutodesk
 
Code Europe - Azure Functions
Code Europe - Azure FunctionsCode Europe - Azure Functions
Code Europe - Azure FunctionsJoe Raio
 

What's hot (17)

Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
Xamarin Overview by Houssem Dellai
Xamarin Overview by Houssem DellaiXamarin Overview by Houssem Dellai
Xamarin Overview by Houssem Dellai
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tn
 
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
 
Xamarin introduction
Xamarin introductionXamarin introduction
Xamarin introduction
 
Lessons Learned: 4 Months of Xamarin.Forms
Lessons Learned: 4 Months of Xamarin.FormsLessons Learned: 4 Months of Xamarin.Forms
Lessons Learned: 4 Months of Xamarin.Forms
 
Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and Xamarin
 
Writing mobile apps with c# with Xamarin
Writing mobile apps with c# with XamarinWriting mobile apps with c# with Xamarin
Writing mobile apps with c# with Xamarin
 
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsOptimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo Domingo
 
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
 
Forge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design DataForge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design Data
 
Serverless Azure
Serverless AzureServerless Azure
Serverless Azure
 
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsForge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
 
Animating Xamarin.Forms
Animating Xamarin.FormsAnimating Xamarin.Forms
Animating Xamarin.Forms
 
Code Europe - Azure Functions
Code Europe - Azure FunctionsCode Europe - Azure Functions
Code Europe - Azure Functions
 
Xamarin Froms 4.x
Xamarin Froms 4.xXamarin Froms 4.x
Xamarin Froms 4.x
 

Similar to Cross-Plattform Native User Interfaces with Xamarin.Forms

Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days -  Xamarin.FormsXamarin Dev Days -  Xamarin.Forms
Xamarin Dev Days - Xamarin.FormsJavier Suárez Ruiz
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.FormsJavier Suárez Ruiz
 
Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)BizTalk360
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Xamarin
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.FormsPierce Boggan
 
Xamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionXamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionCommit University
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppXamarin
 
Cross platform app dev with xamarin forms
Cross platform app dev with xamarin formsCross platform app dev with xamarin forms
Cross platform app dev with xamarin formsShahriar Hossain
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Pranav Ainavolu
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & XamarinNish Anil
 
What's new in Xamarin.Forms
What's new in Xamarin.FormsWhat's new in Xamarin.Forms
What's new in Xamarin.FormsRui Marinho
 
Getting Started with Xamarin App Development
Getting Started with Xamarin App DevelopmentGetting Started with Xamarin App Development
Getting Started with Xamarin App DevelopmentJasjit Chopra
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarinMohit Chhabra
 
Powerful Backends with Microsoft Azure
Powerful Backends with Microsoft AzurePowerful Backends with Microsoft Azure
Powerful Backends with Microsoft AzurePierce Boggan
 
Xamarin ile Cross Platform Development
Xamarin ile Cross Platform DevelopmentXamarin ile Cross Platform Development
Xamarin ile Cross Platform DevelopmentEngin Polat
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinPranav Ainavolu
 
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 WestideJames Montemagno
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsJames Pearce
 

Similar to Cross-Plattform Native User Interfaces with Xamarin.Forms (20)

Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days -  Xamarin.FormsXamarin Dev Days -  Xamarin.Forms
Xamarin Dev Days - Xamarin.Forms
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
 
Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)Introduction to Cross Platform Mobile Apps (Xamarin)
Introduction to Cross Platform Mobile Apps (Xamarin)
 
Xamarin.forms
Xamarin.forms Xamarin.forms
Xamarin.forms
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Introduction to Xamarin.Forms
Introduction to Xamarin.FormsIntroduction to Xamarin.Forms
Introduction to Xamarin.Forms
 
Xamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile SolutionXamarin.Forms - Your Complete Mobile Solution
Xamarin.Forms - Your Complete Mobile Solution
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
 
Cross platform app dev with xamarin forms
Cross platform app dev with xamarin formsCross platform app dev with xamarin forms
Cross platform app dev with xamarin forms
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
 
What's new in Xamarin.Forms
What's new in Xamarin.FormsWhat's new in Xamarin.Forms
What's new in Xamarin.Forms
 
Getting Started with Xamarin App Development
Getting Started with Xamarin App DevelopmentGetting Started with Xamarin App Development
Getting Started with Xamarin App Development
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
Powerful Backends with Microsoft Azure
Powerful Backends with Microsoft AzurePowerful Backends with Microsoft Azure
Powerful Backends with Microsoft Azure
 
Xamarin ile Cross Platform Development
Xamarin ile Cross Platform DevelopmentXamarin ile Cross Platform Development
Xamarin ile Cross Platform Development
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
 
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
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web Apps
 

Recently uploaded

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdfkalichargn70th171
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring SoftwareMera Monitor
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationWave PLM
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 

Recently uploaded (20)

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring Software
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 

Cross-Plattform Native User Interfaces with Xamarin.Forms

Editor's Notes

  1. Vorstellung: tabletsolutions Ablauf: Einführung = Wiederholung für alle die schon mit Xamarin.Forms gearbeitet haben Demo = Praxisbeispiel neue weiterführende Features
  2. Xamarin.Forms = Building Blocks die auf Xamarin Plattform aufbauen. Es ist nach wie vor möglich alles auf IOS / Android Basis zu machen,Xamarin.Forms ist eine Abstraktion davon. Passend für viele, aber nicht alle Apps (oft nur für Teile einer App). Hintergrund: Einfache Apps, bzw. Bestimmte Darstellungen komplexer Apps schauen auf allen Plattformen gleich aus – z.B. Login-Page, Formulare, ...
  3. Noch mehr geteilter Code als mit Xamarin, immer noch 100% nativ. Ein kleiner  Teil ist immer plattformspezifisch (kein 100% geteilter Code möglich), aber unter Umständen muss dieser plattformspezifische Code nicht selbst geschrieben werden -> Projekt Templates reichen in vielen Fällen.
  4. Nicht nur visuelle Elemente (Pages, Layouts, Controls) , sondern ein Basis-Framework für MVVM. Dependency Service: Plattformspezifische Implementierung verschiedener Probleme notwendig -> automatische Injection der passenden Implementierung je Plattform. Messaging Center: Komponenten(z.B. ViewModels) können miteinander kommunizieren, ohne voneinander zu wissen. Nicht alles muss genutzt werden,  z.B.  schnell zusammengestellter Klick-Dummy, aber kann verwendet werden für volles MVVM.  In der Praxis MVVM-Framework verwenden, das auf Xamarin.Forms Plattform aufsetzt – mittlerweile mehrere vorhanden.
  5. Pages enthalten Layouts, um die Inhalte (konkrete Controls) zu strukturieren. Layouts können verschachtelt werden,  z.B. äußerstes Layout = ScrollView, darin  StackLayout, darin Grid etc.
  6. Einzelne Controls existieren vielleicht nur auf einer Plattform, aber die allermeisten Controls gibts es für alle 3 Plattformen (z.B. Buttons,  Text Boxen, Labels, …) Diese sind vielleicht etwas unterschiedlich,aber Xamarin.Forms bringt sie auf einen gemeinsamen Nenner(inkl. Ihre wichtigsten Eigenschaften & Attribute!)  You have more than 40 controls, layouts, and pages to mix and match from Consider an Entry Field On iOS it is mapped to UITextField Android it is EditText Windows Phoen it is a TextBox These are all of the controls you have out of the box, you can of course create your own. 
  7. z.B. Charts und Diagramme, Kalender-Controls, ... 
  8. Nicht nur Control-Namen, sondern auch Bezeichnungen für Attribute bzw. Properties sind unterschiedlich als z.B.  aus WPF-XAML gewöhnt. Daher: Copy/Paste von existierendem XAML-Code funktioniert nicht out of the box,  ist aber mit relativ einfachen Anpassungen  meistens lauffähig.
  9. Xamarin.Forms kann sogar mehr als Windows Runtime und Universal Platform, z.B.  StringFormat(Erleichterung für Leute wie mich, die WPF oder Silverlight gelernt haben) 
  10. In einfachen  Apps beschränkt sich der platformspezifische Code, der selbst geschrieben wird (siehe vorne), auf solche Konstrukte.
  11. Binding Command Darstellung: Tabs unten mit Icons(IOS), Tabs oben Material Design(Android), Pivot Tavs (Windows) Windows Universal App -> Windows 10, Windows Phone, XBox
  12. Aktuell ist 2.3
  13. Wenn jemand wissen will wie bestimmte Dinge gelöst sind, kann er einfach nachschauen Mitmachen und z.B.  existierende Bibliotheken anbinden
  14. Sollte gesetzt werden Alte Variante ist manchmal immer noch nützlich, z.B. Zellen die sich laufend ändern, unterschiedliche Größen haben, … -> dynamische Inhalte
  15. Bisher: XAML ins App-Package verpackt. Problem: Bei Fehlern (z.B. Tippfehler im XAML) crasht die App! Neu: Compile-Time  Überprüfung Muss für jede Klasse oder für ganze Assembly aktiviert werden(einfach per Attribute) -> sollte unbedingt gemacht werden! Warum? Nächste Folie
  16. Wie oben erwähnt, Externe Partner bieten mehr und mehr Controls an. Was hat sich aber bei internen Controls geändert? 
  17. Was tun mit sehr unterschiedlichen Zell-Formatierungen bzw. Styles? z.B. Chat-Anwendung: Darstellung des Charverlaufs als Liste, zwei Arten von Zellen: Sender (links, blau, …) - Empfänger(rechts, weiß, …) ->  ListView  zeigt unterschiedliche Zell-Templates an, je nach Typ des jeweiligen Datensatzes
  18. Bisher: CarouselPage Problem: ganze Page kann nicht in andere Page eingebunden werden Daher: eigenes Control, das sich ähnlich verhält aber in beliebige Layouts eingebunden werden kann
  19. Bisher: Custom Renderer, um Eigenschaften des nativen Controls zu verändern. Im wesentlichen erstellt das ein neues Control. Neu: "Light" effects können einem Control  sehr einfach zugewiesen werden, und müssen nicht für alle Plattformen existieren.
  20. Diese Folie sollte eigentlich auch Effects heißen, kein 1. und 2. Teil. Effects können in XAML und Codebehind zugewiesen werden.
  21. Im Moment  nur in Xamarin Studio verfügbar, wird aber auch in Visual Studio kommen. Vorschau (kein Designer)  von XAML Interfaces, inkl. Custom Controls, Effects, etc.
  22. App registriert sich für bestimmte Adresse Link auf Webseite, oder per Email,etc. App öffnet sich Kann auf bestimmte Page navigieren
  23. Automatische Erstellung von User Interfaces, basierend auf Azure Datenquellen oder JSON Objekten
  24. Light / dark themes, card views, etc.
  25. Easily embed any native control into a Xamarin.Forms layout.
  26. Just add it as child to a layout. Exposed as an Extension Method.