SlideShare une entreprise Scribd logo
1  sur  48
https://www.myget.org/F/xamarinforms-ci/api/v2
Big Things
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/data-binding/compiled-bindings/
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
Namespace MyApp { ….
<ListView x:Name="colorListView"
Grid.Row="0"
ItemsSource="{x:Static local:NamedColor.All}"
RowHeight="40">
<ListView.ItemTemplate>
<DataTemplate x:DataType="{x:Type local:NamedColor}"
<ViewCell>
<StackLayout Orientation="Horizontal">
<BoxView Color="{Binding Color}"
HeightRequest="32"
WidthRequest="32"
VerticalOptions="Center" />
Perf
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:ListView.IsFastScrollEnabled="true"
Perf
<Button />
AppCompatButton AppCompatButton
Button, Image, Label
Perf
ContentPage 2
3
4
5
6
7
<StackLayout
Spacing="0"
CompressedLayout.IsHeadless="true"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<Grid
CompressedLayout.IsHeadless="true”>
...
</Grid>
...
</StackLayout>
Perf
Uncompressed
130 Views
Compressed
111 Views
Compressed + Fast Renderers
70 Views
Xamarin.Forms
Shared C# Logic
Windows C#Android C#iOS C#
Xamarin.Forms Supported Features
• XAML Compilation
• Bindings
• MessagingCenter
• DependencyService
• Create
• UIViewController
• Activity
• Fragment
• FrameworkElement
Perf
CreateViewController()
https://blog.xamarin.com/adaptive-mobile-designs-with-flexlayout/
• Não
http://github.com/davidortinau/Flexibility
http://github.com/microsoft/ConferenceVision
Little Things
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Project Board
https://blog.xamarin.com/beginners-guide-
contributing-xamarin-forms/
https://blog.xamarin.com/debugging-xamarin-
forms/
1
2
3
4
5
6
7
8
9
<TabbedPage …
BarBackgroundColor="#F1F1F1"
xmlns:android="clr-
namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly
=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
android:TabbedPage.BarItemColor="#666666"
android:TabbedPage.BarSelectedItemColor="Black">
<Label>
<Label.FormattedText>
<FormattedString>
<Span Text="Welcome " />
<Span Text="{Binding YourName}" FontAttributes="Bold"/>
<Span Text=" to the Xamarin.Forms 3.1.0 playground!" />
</FormattedString>
</Label.FormattedText>
</Label>
<Label>
<Label.FormattedText>
<FormattedString>
<Span Text="Sometimes you want a span to be tappable, like a phone number or URL: " />
<Span Text="{Binding Url, Mode=OneWay}" TextColor="Blue">
<Span.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding TapCommand, Mode=OneWay}"
CommandParameter="https://www.xamarin.com"/>
</Span.GestureRecognizers>
</Span>
<Span Text=". Tap it to launch a browser."/>
</FormattedString>
</Label.FormattedText>
</Label>
<BoxView
FlexLayout.AlignSelf="Center"
WidthRequest="100"
HeightRequest="100"
BackgroundColor="{OnPlatform Android=#333333, iOS=#CC3300, Default=Green}" />
Next Things
• ActivityIndicator, BoxView, ProgressBar, Switch
• color
• Grid
• row-gap
• column-gap
• VisualElement
• transform
• transform-origin
• Label
• vertical-align
Perf
• Performant por padrão
• Mesmo design no iOS e
Android através do
MaterialShell
• Design por plataforma via
Shell
• Descreva facilmente seu app
em um arquivo
• Flyout e Tabbed navigation
• URL routed navigation, deep
linking
• Back navigation
• Busca integrada
• Snackbar
• Bottom Sheet
• Floating Action Button
• Left Bar Button
• Screen segues
• Screen transitions
• Mais tudo que você já
consegue fazer com
Xamarin.Forms
Perf
Supported Navigation UI Patterns In Shell
1 Page Bottom Tabs Bottom & Top Tabs FlyoutTop Tabs
<ShellItem Route="main" Title="Home">
<ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" />
<ShellSection Title="Notifications">
<ShellContent Title="Recent" ContentTemplate="{DataTemplate local:RecentActivityPage}" />
<ShellContent Title=“Alert Settings" ContentTemplate="{DataTemplate local:AlertSettingsPage}" />
</ShellSection>
</ShellItem>
<Shell FlyoutBehavior=“Disabled” …>
<ShellContent>
<local:MainPage />
</ShellContent>
</Shell>
<ShellItem>
<ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" />
<ShellContent Title=“Notifications“ ContentTemplate="{DataTemplate local:NotificationsPage}" />
</ShellItem>
<ShellItem Route="main" Title="Home">
<ShellSection>
<ShellContent Title=“Page 1" ContentTemplate="{DataTemplate local:FirstPage}" />
<ShellContent Title=“Page 2" ContentTemplate="{DataTemplate local:SecondPage}" />
</ShellSection>
</ShellItem>
<Shell.FlyoutHeader>
<ContentView HeightRequest=“300”>
<Label Text=“Hello XamStore” …/>
</ContentView>
</Shell.FlyoutHeader>
<ShellItem Route="main" Title="Home">
<ShellContent ContentTemplate=“{DataTemplate local:MainPage}” />
</ShellItem>
<ShellItem Route=“notifications” Title=“Notifications”>
<ShellContent ContentTemplate=“{DataTemplate local:NotificationsPage}” />
</ShellItem>
Precisa da sua opinião e seu voto
https://github.com/xamarin/Xamarin.Forms/labels/a%2F
gestures
Obrigado!

Contenu connexe

Similaire à O que há de novo no Xamarin.Forms

Introduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDBIntroduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDB
Adrien Joly
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant Training
AidIQ
 

Similaire à O que há de novo no Xamarin.Forms (20)

netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
 
What's new in Xamarin.Forms?
What's new in Xamarin.Forms?What's new in Xamarin.Forms?
What's new in Xamarin.Forms?
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Introduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDBIntroduction to asynchronous DB access using Node.js and MongoDB
Introduction to asynchronous DB access using Node.js and MongoDB
 
Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology update
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
 
What's the deal with Android maps?
What's the deal with Android maps?What's the deal with Android maps?
What's the deal with Android maps?
 
ScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for BeginnersScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for Beginners
 
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
 
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
 
Developing application for Windows Phone 7 in TDD
Developing application for Windows Phone 7 in TDDDeveloping application for Windows Phone 7 in TDD
Developing application for Windows Phone 7 in TDD
 
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
 
The Ring programming language version 1.5.3 book - Part 53 of 184
The Ring programming language version 1.5.3 book - Part 53 of 184The Ring programming language version 1.5.3 book - Part 53 of 184
The Ring programming language version 1.5.3 book - Part 53 of 184
 
The Ring programming language version 1.5.3 book - Part 43 of 184
The Ring programming language version 1.5.3 book - Part 43 of 184The Ring programming language version 1.5.3 book - Part 43 of 184
The Ring programming language version 1.5.3 book - Part 43 of 184
 
All Things Open 2016 -- Database Programming for Newbies
All Things Open 2016 -- Database Programming for NewbiesAll Things Open 2016 -- Database Programming for Newbies
All Things Open 2016 -- Database Programming for Newbies
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant Training
 
XAML and WPF - Dinko Jakovljević
XAML and WPF - Dinko JakovljevićXAML and WPF - Dinko Jakovljević
XAML and WPF - Dinko Jakovljević
 
Ams adapters
Ams adaptersAms adapters
Ams adapters
 

Plus de akamud

Plus de akamud (20)

.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Hacktoberfest - Contribuindo com Open Source
Hacktoberfest  - Contribuindo com Open SourceHacktoberfest  - Contribuindo com Open Source
Hacktoberfest - Contribuindo com Open Source
 
Automatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeAutomatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hoje
 
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
 
.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NET.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NET
 
Azure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu appAzure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu app
 
O Futuro do .NET
O Futuro do .NETO Futuro do .NET
O Futuro do .NET
 
Interfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.FormsInterfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.Forms
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
 
Mobile Development Simplified with Xamarin
Mobile Development Simplified with XamarinMobile Development Simplified with Xamarin
Mobile Development Simplified with Xamarin
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
 
Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
Automatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlaneAutomatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlane
 
Tornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com PrismTornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com Prism
 
Animações com Xamarin.Forms
Animações com Xamarin.FormsAnimações com Xamarin.Forms
Animações com Xamarin.Forms
 
Instrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile CenterInstrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile Center
 
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisXamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
 
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
 
Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

O que há de novo no Xamarin.Forms

Notes de l'éditeur

  1. apply this to your ContentPage Device.FlowDirection is a helper to get the device direction based on language and region choices inherited by children. Can be overriden.
  2. apply this to your ContentPage Device.FlowDirection is a helper to get the device direction based on language and region choices inherited by children. Can be overriden.
  3. a structured way to make visual changes to the user interface from code you define how your controls should look in terms of a Visual State
  4. Mention Samsung or add another slide
  5. Concept Description A simple statement (“elevator pitch”) that describes your concept. It’s okay if the description doesn’t completely describe the concept. The participant’s questions, at this point, help highlight the details about the concept that the participant cares most about. Ideally, your description should be no more than two sentences.