SlideShare a Scribd company logo
1 of 52
Glad to be here – flood photo
photo credit: stltoday.com
Xamarin Native approach
3 Native User Interfaces
Shared App Logic
Shared C# Logic
Windows C#Android C#iOS C#
Xamarin.Forms approach
Shared C# Logic
Shared UI Code
Shared (Native) User Interfaces
Shared App Logic
macOS Preview
Enhanced GestureRecognizers
Android Support Libraries
PlatformSpecifics
Fast Scroll
NavigationPage Translucency
Blur Behind
.netstandard support
Partial Collapse MasterPage
Native Control Binding
Map Extensibility
Fast Renderers Preview
Startup Time
ListView Scrolling
Memory Improvements
XAMLC
Bindable Picker
Frame Corners
Tizen
Forms Previewer
FlexLayout Preview
Xamarin.Forms Embedding
DataPages
• Lightning-fast UI controls
• Data grids gracefully render even the heaviest data loads
• Data charts that handle millions of data points with millisecond refresh rates
• Revolutionary WYSIWYG design tools for Xamarin.Forms
Infragistics Ultimate UI for Xamarin
The complete toolkit for building fast, beautiful, native mobile apps
Free trial: www.infragistics.com/xamarin
20% off for Build attendees through July 15 – Use promo code MSBUILD17
Infragistics Ultimate UI for Xamarin
Productivity Pack
Revolutionary WYSIWYG design tools for Xamarin.Forms
Write Fast: App Map
• Lay out your entire app Visio-style
• Drag and drop pages, child relationships, and
navigation instructions
• Automatically generate views, view models, and
navigation code
Write Fast: Control Configurators
• Easy visual control configuration right in the
XAML editor
• Easy, intuitive property editing and data binding
• Auto-generate XAML code
• Auto-update properties upon XAML code changes
Free trial: www.infragistics.com/xamarin
20% off for Build attendees through July 15 – Use promo code MSBUILD17
Write Fast: Visual Toolbox
• World’s first NuGet-powered toolbox for
Xamarin.Forms
• Features all standard layouts, views and controls
• Automatic namespace referencing
Why Telerik UI for Xamarin
1. Polished UI controls out of the box
2. Allows developers to focus on app features, rather sweating UI details
3. Native controls for Xamarin.iOS & Xamarin.Android
4. Cross-platform wrappers for Xamarin.Forms
5. Extreme performance tuned
6. Works seamlessly on Windows/Mac
7. Easy integration through NuGet and Templates
8. Lot of customization options
9. Sample apps in Stores
The Best .NET UI for .NET Ninjas!
telerik.com/xamarin-ui
Source: Matthew Robbins - MFractor
Layout Lifecycle:
Invalidation Loop Has Parent?
InvalidateMeasure Called
Call InvalidateMeasure on
Parent
Queue Delay Layout
Yes
No
1
2
3
4
Has Parent?
InvalidateMeasure Called
Call InvalidateMeasure on
Parent
Queue Delay Layout
Yes
No
1
2
3
4
Wait for event
callback to happen
and trigger the layout
mechanism
5
Has
Children?
LayoutChildren Invoked
Layout called
6
7
8
Yes
No
Layout Cycle Completed
9
Layout Lifecycle:
Layout Loop
Grid
StackLayout
ContentView
Label
Button WebView
Grid
Label Button Image ScrollView
Image
Panel
Panel
Panel
LabelRenderer
TextBlock
ButtonRenderer
Button
WebViewRenderer
WebView
Panel
LabelRenderer
Label
ButtonRenderer
Button
ImageRenderer
Image
ScrollViewRenderer
ImageRenderer
Image
Forms
UWP
Grid
StackLayout
ContentView
Label
Button WebView
Grid
Label Button Image ScrollView
Image
Panel
LabelRenderer
TextBlock
ButtonRenderer
Button
WebViewRenderer
WebView
LabelRenderer
Label
ButtonRenderer
Button
ImageRenderer
Image
ScrollViewRenderer
ImageRenderer
Image
Forms
UWP+Compression
Grid
StackLayout
ContentView
Label
Button WebView
Grid
Label Button Image ScrollView
Image
Panel
LabelRenderer
TextBlock
ButtonRenderer
Button
WebViewRenderer
WebView
LabelRenderer
Label
ButtonRenderer
Button
ImageRenderer
Image
ScrollViewRenderer
ImageRenderer
Image
Forms
UWP+Compression
Grid
StackLayout
ContentView
Label
Button WebView
Grid
Label Button Image ScrollView
Image
Panel
LabelRenderer ButtonRenderer WebViewRenderer
WebView
LabelRenderer ButtonRenderer ImageRenderer ScrollViewRenderer
ImageRenderer
Forms
UWP+Compression+Fast Renderers
Available now in 2.3.5 for Android
- Image, Label, and Button only
Please Test!
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x=http://schemas.microsoft.com/winfx/2009/xaml
x:Class="FormsFlexLayoutDemo.FlexDemoPage">
<FlexLayout x:Name="flexbox”>
<Label Text="Flex Element 1" />
<Label Text="Flex Element 2" />
<Label Text="Flex Element 3" />
<Label Text="Flex Element 4" />
<Label Text="Flex Element 5" />
</FlexLayout>
</ContentPage>
Flex Element 1 Flex Element 2 Flex Element 3
Flex Element 4 Flex Element 5
AlignContent AlignItems Position Overflow
Wrap Order AlignSelf Flex
JustifyContent IsIncluded Grow Shrink
- Faster loading
- Direct item insertion
- Remove need to use Cells
Xamarin.Forms
Shared C# Logic
Windows C#Android C#iOS C#
iOS
Obj-C
Swift
Android Java ?
What’s Next?
Download Xamarin.Forms 2.3.5-pre3 today!
Watch for 3.0 Pre-release soon.
www.xamarin.com/download
Thank you.
Questions?
David
Ortinau
Senior Program Manager, Microsoft
david.ortinau@microsoft.com @davidortinau jas@microsoft.com @jassmith87
Jason
Smith
Engineering Team Lead, Microsoft
Build 2017 - B8099 - What's new in Xamarin.Forms

More Related Content

What's hot

What's hot (20)

Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
iOS for C# Developers - DevConnections Talk
iOS for C# Developers - DevConnections TalkiOS for C# Developers - DevConnections Talk
iOS for C# Developers - DevConnections Talk
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
 
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 
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
 
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
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Xamarin Test Cloud Presentation
Xamarin Test Cloud PresentationXamarin Test Cloud Presentation
Xamarin Test Cloud Presentation
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of apps
 
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
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to Xamarin
 
What's new and next for mobile development with .NET
What's new and next for mobile development with .NETWhat's new and next for mobile development with .NET
What's new and next for mobile development with .NET
 
Techdays app 2016 - behind the scenes
Techdays app 2016 -  behind the scenesTechdays app 2016 -  behind the scenes
Techdays app 2016 - behind the scenes
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
Highly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and MagnoliaHighly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and Magnolia
 
Xamarin overview droidcon.tn
Xamarin overview   droidcon.tnXamarin overview   droidcon.tn
Xamarin overview droidcon.tn
 
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
 
.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers
 

Similar to Build 2017 - B8099 - What's new in Xamarin.Forms

Similar to Build 2017 - B8099 - What's new in Xamarin.Forms (20)

What's new in Xamarin.Forms
What's new in Xamarin.FormsWhat's new in Xamarin.Forms
What's new in Xamarin.Forms
 
Xamarin Roadshow
Xamarin RoadshowXamarin Roadshow
Xamarin Roadshow
 
Flying High with Xamarin!
Flying High with Xamarin!Flying High with Xamarin!
Flying High with Xamarin!
 
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)
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
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
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile Development
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with Xamarin
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발
 
Lecture 08 Xamarin
Lecture 08 XamarinLecture 08 Xamarin
Lecture 08 Xamarin
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 

More from Windows Developer

More from Windows Developer (20)

Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3DOur Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
 
Fluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: OfficeFluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: Office
 
Building powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apisBuilding powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apis
 
Creating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual LayerCreating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual Layer
 
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
 
Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10
 
How Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independentHow Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independent
 
Harnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows InkHarnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows Ink
 
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
 
Developing for Sets on Windows 10
Developing for Sets on Windows 10Developing for Sets on Windows 10
Developing for Sets on Windows 10
 
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
 
Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...
 
Fluent Design: Evolving our Design System
Fluent Design: Evolving our Design SystemFluent Design: Evolving our Design System
Fluent Design: Evolving our Design System
 
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
 
Windows 10 on ARM for developers
Windows 10 on ARM for developersWindows 10 on ARM for developers
Windows 10 on ARM for developers
 
Building Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in UnityBuilding Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in Unity
 
Set up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOMESet up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOME
 
Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web App
 
Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...
 
Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction
 

Recently uploaded

Recently uploaded (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Build 2017 - B8099 - What's new in Xamarin.Forms

  • 1.
  • 2.
  • 3. Glad to be here – flood photo photo credit: stltoday.com
  • 4. Xamarin Native approach 3 Native User Interfaces Shared App Logic Shared C# Logic Windows C#Android C#iOS C#
  • 5. Xamarin.Forms approach Shared C# Logic Shared UI Code Shared (Native) User Interfaces Shared App Logic
  • 6.
  • 7.
  • 8.
  • 9. macOS Preview Enhanced GestureRecognizers Android Support Libraries PlatformSpecifics Fast Scroll NavigationPage Translucency Blur Behind .netstandard support Partial Collapse MasterPage Native Control Binding Map Extensibility Fast Renderers Preview Startup Time ListView Scrolling Memory Improvements XAMLC Bindable Picker Frame Corners Tizen Forms Previewer FlexLayout Preview Xamarin.Forms Embedding DataPages
  • 10.
  • 11. • Lightning-fast UI controls • Data grids gracefully render even the heaviest data loads • Data charts that handle millions of data points with millisecond refresh rates • Revolutionary WYSIWYG design tools for Xamarin.Forms Infragistics Ultimate UI for Xamarin The complete toolkit for building fast, beautiful, native mobile apps Free trial: www.infragistics.com/xamarin 20% off for Build attendees through July 15 – Use promo code MSBUILD17
  • 12. Infragistics Ultimate UI for Xamarin Productivity Pack Revolutionary WYSIWYG design tools for Xamarin.Forms Write Fast: App Map • Lay out your entire app Visio-style • Drag and drop pages, child relationships, and navigation instructions • Automatically generate views, view models, and navigation code Write Fast: Control Configurators • Easy visual control configuration right in the XAML editor • Easy, intuitive property editing and data binding • Auto-generate XAML code • Auto-update properties upon XAML code changes Free trial: www.infragistics.com/xamarin 20% off for Build attendees through July 15 – Use promo code MSBUILD17 Write Fast: Visual Toolbox • World’s first NuGet-powered toolbox for Xamarin.Forms • Features all standard layouts, views and controls • Automatic namespace referencing
  • 13. Why Telerik UI for Xamarin 1. Polished UI controls out of the box 2. Allows developers to focus on app features, rather sweating UI details 3. Native controls for Xamarin.iOS & Xamarin.Android 4. Cross-platform wrappers for Xamarin.Forms 5. Extreme performance tuned 6. Works seamlessly on Windows/Mac 7. Easy integration through NuGet and Templates 8. Lot of customization options 9. Sample apps in Stores The Best .NET UI for .NET Ninjas! telerik.com/xamarin-ui
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Layout Lifecycle: Invalidation Loop Has Parent? InvalidateMeasure Called Call InvalidateMeasure on Parent Queue Delay Layout Yes No 1 2 3 4
  • 25. Has Parent? InvalidateMeasure Called Call InvalidateMeasure on Parent Queue Delay Layout Yes No 1 2 3 4 Wait for event callback to happen and trigger the layout mechanism 5 Has Children? LayoutChildren Invoked Layout called 6 7 8 Yes No Layout Cycle Completed 9 Layout Lifecycle: Layout Loop
  • 26. Grid StackLayout ContentView Label Button WebView Grid Label Button Image ScrollView Image Panel Panel Panel LabelRenderer TextBlock ButtonRenderer Button WebViewRenderer WebView Panel LabelRenderer Label ButtonRenderer Button ImageRenderer Image ScrollViewRenderer ImageRenderer Image Forms UWP
  • 27. Grid StackLayout ContentView Label Button WebView Grid Label Button Image ScrollView Image Panel LabelRenderer TextBlock ButtonRenderer Button WebViewRenderer WebView LabelRenderer Label ButtonRenderer Button ImageRenderer Image ScrollViewRenderer ImageRenderer Image Forms UWP+Compression
  • 28.
  • 29. Grid StackLayout ContentView Label Button WebView Grid Label Button Image ScrollView Image Panel LabelRenderer TextBlock ButtonRenderer Button WebViewRenderer WebView LabelRenderer Label ButtonRenderer Button ImageRenderer Image ScrollViewRenderer ImageRenderer Image Forms UWP+Compression
  • 30. Grid StackLayout ContentView Label Button WebView Grid Label Button Image ScrollView Image Panel LabelRenderer ButtonRenderer WebViewRenderer WebView LabelRenderer ButtonRenderer ImageRenderer ScrollViewRenderer ImageRenderer Forms UWP+Compression+Fast Renderers
  • 31. Available now in 2.3.5 for Android - Image, Label, and Button only Please Test!
  • 32.
  • 33.
  • 34. <?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x=http://schemas.microsoft.com/winfx/2009/xaml x:Class="FormsFlexLayoutDemo.FlexDemoPage"> <FlexLayout x:Name="flexbox”> <Label Text="Flex Element 1" /> <Label Text="Flex Element 2" /> <Label Text="Flex Element 3" /> <Label Text="Flex Element 4" /> <Label Text="Flex Element 5" /> </FlexLayout> </ContentPage> Flex Element 1 Flex Element 2 Flex Element 3 Flex Element 4 Flex Element 5
  • 35. AlignContent AlignItems Position Overflow Wrap Order AlignSelf Flex JustifyContent IsIncluded Grow Shrink
  • 36. - Faster loading - Direct item insertion - Remove need to use Cells
  • 37.
  • 38.
  • 39. Xamarin.Forms Shared C# Logic Windows C#Android C#iOS C# iOS Obj-C Swift Android Java ?
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. What’s Next? Download Xamarin.Forms 2.3.5-pre3 today! Watch for 3.0 Pre-release soon. www.xamarin.com/download
  • 51. Thank you. Questions? David Ortinau Senior Program Manager, Microsoft david.ortinau@microsoft.com @davidortinau jas@microsoft.com @jassmith87 Jason Smith Engineering Team Lead, Microsoft