SlideShare une entreprise Scribd logo
1  sur  68
Télécharger pour lire hors ligne
SESSÃO: DESENVOLVIMENTO

TRILHA: WINDOWS STORE APPS

MVP ShowCast 2013

Windows 8.1:
O que mudou para o desenvolvedor?

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Accessibility

Data binding

Live tiles and
toast

Input

Controls

HTML5/CSS

XAML

Portable

Geolocation

Direct3D

Direct2D

Direct Write

Local
storage

SMS

Skydrive

Sensors

Proximity

Playback

Capture

PlayTo

Streams

Background
transfer

Bing

Canvas

SVG

Syndication

Networking

Azure
Mobile

XML and
JSON

Contracts

Xbox Live

Printing

Application
services

Threading/timers

Memory
management

Globalization

Cryptography

Authentication
Accessibility

Data binding

Live tiles and
toast

Input

Controls

HTML5/CSS

XAML

Portable

Geolocation

Direct3D

Direct2D

Direct Write

Local
storage

SMS

Skydrive

Sensors

Proximity

Playback

Capture

PlayTo

Streams

Background
transfer

Bing

Canvas

SVG

Syndication

Networking

Azure
Mobile

XML and
JSON

Contracts

Xbox Live

Printing

Application
services

Threading/timers

Memory
management

Globalization

Cryptography

Authentication
Accessibility

Data binding

Live tiles and
toast

Input

Controls

HTML5/CSS

XAML

Speech synthesis

Portable

Geolocation

Point of
service

Direct3D

Direct2D

Direct Write

Local
storage

SMS

HTTP

Skydrive

Sensors

Proximity

USB

Playback

Capture

PlayTo

Streams

Background
transfer

Contacts

Bing

HID

WiFi direct

Bluetooth

Canvas

SVG

WebGL

Syndication

Networking

Appointments

Azure
Mobile

Printing

3D
printing

Scanning

XML and
JSON

Contracts

PDF

Xbox Live

Application
services

Threading/timers

Memory
management

Globalization

Cryptography

Authentication

Diagnostics
Accessibility

Data binding

Live tiles and
toast

Input

Controls

HTML5/CSS

XAML

Speech synthesis

Portable

Geolocation

Point of
service

Direct3D

Direct2D

Direct Write

Local
storage

SMS

HTTP

Skydrive

Sensors

Proximity

USB

Playback

Capture

PlayTo

Streams

Background
transfer

Contacts

Bing

HID

WiFi direct

Bluetooth

Canvas

SVG

WebGL

Syndication

Networking

Appointments

Azure
Mobile

Printing

3D
printing

Scanning

XML and
JSON

Contracts

PDF

Xbox Live

Application
services

Threading/timers

Memory
management

Globalization

Cryptography

Authentication

Diagnostics
Hub
<Hub Header=“Novidades Windows 8.1”>
<HubSection Header=“Aplicativos”>
<DataTemplate>
<!-- your content here -->
<HubSection Header=“Serviços“ IsHeaderInteractive=“True“
Background=“#222222“ MinWidth=“250“>
<DataTemplate>
<!-- your content here -->
DateTime Pickers
<DatePicker Header=“data inicial:”
CalendarIdentifier=“JapaneseCalendar”
DayFormat=“{}{day.integer} {dayofweek.abbreviated}”
YearVisible=“False” />

<TimePicker ClockIdentifier="24HourClock" />
Flyout
<Button Content="Show">
<Button.Flyout>
<Flyout>
<StackPanel>
<TextBlock FontWeight="Light" Text="Select a name..." />
<TextBox PlaceholderText="Choose a name..." Width="300" />
<Button HorizontalAlignment="Right" Content="Rename" />
</StackPanel>
</Flyout>
</Button.Flyout>
</Button>
Flyout
<Button Content="Options">
<Button.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="Reset" Click="Reset_Click"/>
<MenuFlyoutSeparator/>
<ToggleMenuFlyoutItem Text="Shuffle"
IsChecked="{Binding IsShuffleEnabled, Mode=TwoWay}"/>
<ToggleMenuFlyoutItem Text="Repeat"
IsChecked="{Binding IsRepeatEnabled, Mode=TwoWay}"/>
</MenuFlyout>
</Button.Flyout>
</Button>
AppBarButton - Symbols
<AppBarButton Icon="Favorite" Label="Add to Favorites" />

// below is the verbose method for symbol
<AppBarButton Label="Favorite">
<AppBarButton.Icon>
<SymbolIcon Symbol="Favorite" />
</AppBarButton.Icon>
</AppBarButton>
AppBarButton – Custom Font
<AppBarButton Label="Favorite">
<AppBarButton.Icon>
<FontIcon FontFamily="assets/myfont.ttf#Font Name"
Glyph="H" />
</AppBarButton.Icon>
</AppBarButton>
AppBarButton - Images
<AppBarButton Label="Favorite">
<AppBarButton.Icon>
<BitmapIcon UriSource="assets/foo.png" />
</AppBarButton.Icon>
</AppBarButton>
CommandBar
<Page.BottomAppBar>
<CommandBar>
<CommandBar.PrimaryCommands>
<!-- app bar buttons here -->

</CommandBar.PrimaryCommands>
<CommandBar.SecondaryCommands>
<!-- app bar buttons here -->
</CommandBar.SecondaryCommands>
</CommandBar>

</Page.BottomAppBar>
CommandBar
<Page.BottomAppBar>
<CommandBar>
<AppBarToggleButton Icon="Shuffle" Label="Shuffle" Click="AppBarButton_Click"/>
<AppBarToggleButton Icon="RepeatAll" Label="Repeat" Click="AppBarButton_Click"/>
<AppBarSeparator/>
<AppBarButton Icon="Back" Label="Back" Click="AppBarButton_Click"/>
<AppBarButton Icon="Stop" Label="Stop" Click="AppBarButton_Click"/>
<AppBarButton Icon="Play" Label="Play" Click="AppBarButton_Click"/>
<AppBarButton Icon="Forward" Label="Forward" Click="AppBarButton_Click"/>
<CommandBar.SecondaryCommands>
<AppBarButton Icon="Like" Label="Like" Click="AppBarButton_Click"/>
<AppBarButton Icon="Dislike" Label="Dislike" Click="AppBarButton_Click"/>
</CommandBar.SecondaryCommands>
</CommandBar>
</Page.BottomAppBar>
Reason

C++

1. Shared cache, cookies, credentials

✔

2. Strongly typed headers=fewer bugs in less time

new!

3. Access to cookies and shared cookies
4. Control over caching and shared cache
5. Inject your code modules into the processing
pipeline=cleaner, more modular code

✔

C# JavaScript
new!

✔

✔

new!

new! new!

new! new! new!
new!

✔

new!
Exemplo
try
{
var uri = new Uri("http://example.com/datalist.aspx");
var httpClient = new HttpClient();
var result = await httpClient.GetStringAsync(uri);
}
catch (Exception e)
{
}
Setar um cookie
var bpf = new HttpBaseProtocolFilter();
var cookieManager = bpf.CookieManager;
var cookie = new HttpCookie("myCookieName", ".example.com", "/");
cookie.Value = "myValue";
cookieManager.SetCookie(cookie);

// Use this base protocol file with an HttpClient
var httpClient = new HttpClient(bpf);
⛭
APIs
Dispositivos

Cenários (Windows.Devices.HumanInterfaceDevice)
Uso de impressão digital para autenticação
Scaner de código de barras e leitor de tarja magnética
Uso de Geofence para interagir com app
Gerenciamento de virtual smart cards para acesso remoto
Impressora 3D e Bluetooth
Scanear documentos e imagens com scanners
Developing in Windows 8.1
SW dev

HW dev
Use a síntese de voz para solicitar
entrada ao usuário, realçar notificações
de aplicativos e caixas de diálogo de
mensagens, dar instruções (como
navegação passo a passo) e ler
conteúdo como mensagens de texto
ou email, RSS feeds, livros e resultados
de pesquisa
Como criar
layouts elegantes
XAML (markup) – Windows 8 e 8.1
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name=“PrimaryLayout">
<Storyboard>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
XAML (code behind) – Windows 8
Window.Current.SizeChanged += Window_SizeChanged;
void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e)
{
if (ApplicationView.Value == ApplicationViewState.Filled)
{
VisualStateManager.GoToState(this, “PrimaryLayout", true);
}
}
XAML (code behind) – Windows 8.1
Window.Current.SizeChanged += Window_SizeChanged;
void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e)
{
if (e.Size.Width >= 500)
{
VisualStateManager.GoToState(this, “PrimaryLayout", true);
}
}
HTML (CSS) – Windows 8
/* Example CSS */

@media screen and (-ms-view-state: filled)
{
body
{
/* Define primary layout styles here */
}
}
HTML (CSS) – Windows 8.1
/* Example CSS */

@media screen and (min-width: 500px)
{
body
{
/* Define primary layout styles here */
}
}
Opcional: Suporte 320px
App especifica a sua largura mínima no
manifesto
Recomendações são similares às da Snapped
View no Windows 8:
Reduza o tamanho das margens, do botão Back
e do título
Opcional: Suporte 320px
App Windows 8 em modo compat:
A app pode ter qualquer tamanho a partir de 320px
Entre 320px e 500px, app é fixada em 320px com
“pillarboxing”

Quando a app for atualizada para 8.1:
Se a app decidir suportar 320px:
A app pode ter qualquer tamanho a partir de 320px
Não há mais o efeito de “pillarboxing”
Propriedades de um Share Source
As propriedades
do DataPackage
ajudam o seu
conteúdo a ter
uma visualização
ótima em apps
target

Propriedades atuais no Windows 8
Title
Description
Thumbnail

Novas propriedades no Windows 8.1
Square30x30Logo
LogoBackgroundColor
ContentSourceWebLink
ContentSourceApplicationLink
Melhorias em Share targets
Forneça uma descrição do seu
comportamento de Share no manifesto
Feche o painel de Share via código usando
o método DismissUI
ApplicationLinks x WebLinks

WebLinks vincula conteúdo da Web
ApplicationLinks vincula conteúdo da App
Apps são mais rápidas no Windows 8.1 sem mudança
de código
5-30%
+rápido
tartup de
uma app com
ListView

2x +rápido
List
panning

10-20%
menor
Uso de
memória em
XAML

15-35%
+rápido
Edição em
uma ListView
WinJS
• Os números de versão da app

Windows 8 nunca podem exceder a
primeira versão publicada da app
Windows 8.1
SESSÃO: DESENVOLVIMENTO

TRILHA: WINDOWS STORE APPS

Referências
•
•
•
•
•
•

Windows 8.1 Preview Product Guide for Developers
Windows API reference for Windows Store apps
Windows 8.1 Preview samples
Windows 8.1 Preview: New APIs and features for developers
Migrating Windows 8 apps to Windows 8.1 Preview
Visual Studio 2013 Preview

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Windows 8.1: O que mudou para o desenvolvedor? [MVP ShowCast 2013 - DEV - Windows Store apps]

Contenu connexe

Similaire à Windows 8.1: O que mudou para o desenvolvedor? [MVP ShowCast 2013 - DEV - Windows Store apps]

Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
Glen Gordon
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture Overview
Bhavya Siddappa
 
Novidades sobre o Silverlight 4
Novidades sobre o Silverlight 4Novidades sobre o Silverlight 4
Novidades sobre o Silverlight 4
Luciano Condé
 
Wp7 geek night intro developers - saschac
Wp7 geek night   intro developers - saschacWp7 geek night   intro developers - saschac
Wp7 geek night intro developers - saschac
Aberla
 

Similaire à Windows 8.1: O que mudou para o desenvolvedor? [MVP ShowCast 2013 - DEV - Windows Store apps] (20)

20130923 tech days windows 8.1 what's new
20130923 tech days windows 8.1 what's new20130923 tech days windows 8.1 what's new
20130923 tech days windows 8.1 what's new
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
 
E internet além da web
E internet além da webE internet além da web
E internet além da web
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
 
HTML Online Course HTML Course Online online html courses html online training
HTML Online Course  HTML Course Online online html courses html online trainingHTML Online Course  HTML Course Online online html courses html online training
HTML Online Course HTML Course Online online html courses html online training
 
20131114 [msdn] windows 8.1 api 新功能
20131114 [msdn] windows 8.1 api 新功能20131114 [msdn] windows 8.1 api 新功能
20131114 [msdn] windows 8.1 api 新功能
 
Building Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit DiublinBuilding Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit Diublin
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture Overview
 
Serverless with Google Cloud
Serverless with Google CloudServerless with Google Cloud
Serverless with Google Cloud
 
gcp-cheat-sheet.pdf
gcp-cheat-sheet.pdfgcp-cheat-sheet.pdf
gcp-cheat-sheet.pdf
 
Novidades sobre o Silverlight 4
Novidades sobre o Silverlight 4Novidades sobre o Silverlight 4
Novidades sobre o Silverlight 4
 
Wp7 geek night intro developers - saschac
Wp7 geek night   intro developers - saschacWp7 geek night   intro developers - saschac
Wp7 geek night intro developers - saschac
 
Data Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platformsData Ingestion in Big Data and IoT platforms
Data Ingestion in Big Data and IoT platforms
 
Under The Hood
Under The HoodUnder The Hood
Under The Hood
 
Building event-driven (Micro)Services with Apache Kafka
Building event-driven (Micro)Services with Apache KafkaBuilding event-driven (Micro)Services with Apache Kafka
Building event-driven (Micro)Services with Apache Kafka
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
 
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
 

Plus de MVP ShowCast

Plus de MVP ShowCast (9)

AlwaysOn Failover Cluster e Availability Group em um Cenário de Disaster Reco...
AlwaysOn Failover Cluster e Availability Group em um Cenário de Disaster Reco...AlwaysOn Failover Cluster e Availability Group em um Cenário de Disaster Reco...
AlwaysOn Failover Cluster e Availability Group em um Cenário de Disaster Reco...
 
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
O que há de Interop no Windows Server 2012 R2 [MVP ShowCast 2013 - IT - Inter...
O que há de Interop no Windows Server 2012 R2 [MVP ShowCast 2013 - IT - Inter...O que há de Interop no Windows Server 2012 R2 [MVP ShowCast 2013 - IT - Inter...
O que há de Interop no Windows Server 2012 R2 [MVP ShowCast 2013 - IT - Inter...
 
Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...
Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...
Gestão de Projetos e Processos - Muito além do trivial [MVP ShowCast 2013 - D...
 
Desvendando o Windows Azure Media Services - O que é possível fazer? [MVP Sho...
Desvendando o Windows Azure Media Services - O que é possível fazer? [MVP Sho...Desvendando o Windows Azure Media Services - O que é possível fazer? [MVP Sho...
Desvendando o Windows Azure Media Services - O que é possível fazer? [MVP Sho...
 
Dicas de publicação de aplicativos Windows 8 na Windows Store [MVP ShowCast 2...
Dicas de publicação de aplicativos Windows 8 na Windows Store [MVP ShowCast 2...Dicas de publicação de aplicativos Windows 8 na Windows Store [MVP ShowCast 2...
Dicas de publicação de aplicativos Windows 8 na Windows Store [MVP ShowCast 2...
 
Desenvolvimento de jogos para a Windows Store [MVP ShowCast 2013 - DEV - Wind...
Desenvolvimento de jogos para a Windows Store [MVP ShowCast 2013 - DEV - Wind...Desenvolvimento de jogos para a Windows Store [MVP ShowCast 2013 - DEV - Wind...
Desenvolvimento de jogos para a Windows Store [MVP ShowCast 2013 - DEV - Wind...
 
Como foi feito o Caça-Palavras [MVP ShowCast 2013 - DEV - Windows Phone]
Como foi feito o Caça-Palavras [MVP ShowCast 2013 - DEV - Windows Phone]Como foi feito o Caça-Palavras [MVP ShowCast 2013 - DEV - Windows Phone]
Como foi feito o Caça-Palavras [MVP ShowCast 2013 - DEV - Windows Phone]
 

Dernier

Dernier (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Windows 8.1: O que mudou para o desenvolvedor? [MVP ShowCast 2013 - DEV - Windows Store apps]

  • 1. SESSÃO: DESENVOLVIMENTO TRILHA: WINDOWS STORE APPS MVP ShowCast 2013 Windows 8.1: O que mudou para o desenvolvedor? © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 2.
  • 3. Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Portable Geolocation Direct3D Direct2D Direct Write Local storage SMS Skydrive Sensors Proximity Playback Capture PlayTo Streams Background transfer Bing Canvas SVG Syndication Networking Azure Mobile XML and JSON Contracts Xbox Live Printing Application services Threading/timers Memory management Globalization Cryptography Authentication
  • 4. Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Portable Geolocation Direct3D Direct2D Direct Write Local storage SMS Skydrive Sensors Proximity Playback Capture PlayTo Streams Background transfer Bing Canvas SVG Syndication Networking Azure Mobile XML and JSON Contracts Xbox Live Printing Application services Threading/timers Memory management Globalization Cryptography Authentication
  • 5. Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Speech synthesis Portable Geolocation Point of service Direct3D Direct2D Direct Write Local storage SMS HTTP Skydrive Sensors Proximity USB Playback Capture PlayTo Streams Background transfer Contacts Bing HID WiFi direct Bluetooth Canvas SVG WebGL Syndication Networking Appointments Azure Mobile Printing 3D printing Scanning XML and JSON Contracts PDF Xbox Live Application services Threading/timers Memory management Globalization Cryptography Authentication Diagnostics
  • 6. Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Speech synthesis Portable Geolocation Point of service Direct3D Direct2D Direct Write Local storage SMS HTTP Skydrive Sensors Proximity USB Playback Capture PlayTo Streams Background transfer Contacts Bing HID WiFi direct Bluetooth Canvas SVG WebGL Syndication Networking Appointments Azure Mobile Printing 3D printing Scanning XML and JSON Contracts PDF Xbox Live Application services Threading/timers Memory management Globalization Cryptography Authentication Diagnostics
  • 7.
  • 8.
  • 9.
  • 10. Hub <Hub Header=“Novidades Windows 8.1”> <HubSection Header=“Aplicativos”> <DataTemplate> <!-- your content here --> <HubSection Header=“Serviços“ IsHeaderInteractive=“True“ Background=“#222222“ MinWidth=“250“> <DataTemplate> <!-- your content here -->
  • 11.
  • 12. DateTime Pickers <DatePicker Header=“data inicial:” CalendarIdentifier=“JapaneseCalendar” DayFormat=“{}{day.integer} {dayofweek.abbreviated}” YearVisible=“False” /> <TimePicker ClockIdentifier="24HourClock" />
  • 13.
  • 14. Flyout <Button Content="Show"> <Button.Flyout> <Flyout> <StackPanel> <TextBlock FontWeight="Light" Text="Select a name..." /> <TextBox PlaceholderText="Choose a name..." Width="300" /> <Button HorizontalAlignment="Right" Content="Rename" /> </StackPanel> </Flyout> </Button.Flyout> </Button>
  • 15. Flyout <Button Content="Options"> <Button.Flyout> <MenuFlyout> <MenuFlyoutItem Text="Reset" Click="Reset_Click"/> <MenuFlyoutSeparator/> <ToggleMenuFlyoutItem Text="Shuffle" IsChecked="{Binding IsShuffleEnabled, Mode=TwoWay}"/> <ToggleMenuFlyoutItem Text="Repeat" IsChecked="{Binding IsRepeatEnabled, Mode=TwoWay}"/> </MenuFlyout> </Button.Flyout> </Button>
  • 16.
  • 17.
  • 18. AppBarButton - Symbols <AppBarButton Icon="Favorite" Label="Add to Favorites" /> // below is the verbose method for symbol <AppBarButton Label="Favorite"> <AppBarButton.Icon> <SymbolIcon Symbol="Favorite" /> </AppBarButton.Icon> </AppBarButton>
  • 19. AppBarButton – Custom Font <AppBarButton Label="Favorite"> <AppBarButton.Icon> <FontIcon FontFamily="assets/myfont.ttf#Font Name" Glyph="H" /> </AppBarButton.Icon> </AppBarButton>
  • 20. AppBarButton - Images <AppBarButton Label="Favorite"> <AppBarButton.Icon> <BitmapIcon UriSource="assets/foo.png" /> </AppBarButton.Icon> </AppBarButton>
  • 21. CommandBar <Page.BottomAppBar> <CommandBar> <CommandBar.PrimaryCommands> <!-- app bar buttons here --> </CommandBar.PrimaryCommands> <CommandBar.SecondaryCommands> <!-- app bar buttons here --> </CommandBar.SecondaryCommands> </CommandBar> </Page.BottomAppBar>
  • 22. CommandBar <Page.BottomAppBar> <CommandBar> <AppBarToggleButton Icon="Shuffle" Label="Shuffle" Click="AppBarButton_Click"/> <AppBarToggleButton Icon="RepeatAll" Label="Repeat" Click="AppBarButton_Click"/> <AppBarSeparator/> <AppBarButton Icon="Back" Label="Back" Click="AppBarButton_Click"/> <AppBarButton Icon="Stop" Label="Stop" Click="AppBarButton_Click"/> <AppBarButton Icon="Play" Label="Play" Click="AppBarButton_Click"/> <AppBarButton Icon="Forward" Label="Forward" Click="AppBarButton_Click"/> <CommandBar.SecondaryCommands> <AppBarButton Icon="Like" Label="Like" Click="AppBarButton_Click"/> <AppBarButton Icon="Dislike" Label="Dislike" Click="AppBarButton_Click"/> </CommandBar.SecondaryCommands> </CommandBar> </Page.BottomAppBar>
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Reason C++ 1. Shared cache, cookies, credentials ✔ 2. Strongly typed headers=fewer bugs in less time new! 3. Access to cookies and shared cookies 4. Control over caching and shared cache 5. Inject your code modules into the processing pipeline=cleaner, more modular code ✔ C# JavaScript new! ✔ ✔ new! new! new! new! new! new! new! ✔ new!
  • 28. Exemplo try { var uri = new Uri("http://example.com/datalist.aspx"); var httpClient = new HttpClient(); var result = await httpClient.GetStringAsync(uri); } catch (Exception e) { }
  • 29. Setar um cookie var bpf = new HttpBaseProtocolFilter(); var cookieManager = bpf.CookieManager; var cookie = new HttpCookie("myCookieName", ".example.com", "/"); cookie.Value = "myValue"; cookieManager.SetCookie(cookie); // Use this base protocol file with an HttpClient var httpClient = new HttpClient(bpf);
  • 30.
  • 31.
  • 32.
  • 33. APIs Dispositivos Cenários (Windows.Devices.HumanInterfaceDevice) Uso de impressão digital para autenticação Scaner de código de barras e leitor de tarja magnética Uso de Geofence para interagir com app Gerenciamento de virtual smart cards para acesso remoto Impressora 3D e Bluetooth Scanear documentos e imagens com scanners
  • 34. Developing in Windows 8.1 SW dev HW dev
  • 35.
  • 36. Use a síntese de voz para solicitar entrada ao usuário, realçar notificações de aplicativos e caixas de diálogo de mensagens, dar instruções (como navegação passo a passo) e ler conteúdo como mensagens de texto ou email, RSS feeds, livros e resultados de pesquisa
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46. XAML (markup) – Windows 8 e 8.1 <VisualStateManager.VisualStateGroups> <VisualStateGroup> <VisualState x:Name=“PrimaryLayout"> <Storyboard> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups>
  • 47. XAML (code behind) – Windows 8 Window.Current.SizeChanged += Window_SizeChanged; void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e) { if (ApplicationView.Value == ApplicationViewState.Filled) { VisualStateManager.GoToState(this, “PrimaryLayout", true); } }
  • 48. XAML (code behind) – Windows 8.1 Window.Current.SizeChanged += Window_SizeChanged; void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e) { if (e.Size.Width >= 500) { VisualStateManager.GoToState(this, “PrimaryLayout", true); } }
  • 49. HTML (CSS) – Windows 8 /* Example CSS */ @media screen and (-ms-view-state: filled) { body { /* Define primary layout styles here */ } }
  • 50. HTML (CSS) – Windows 8.1 /* Example CSS */ @media screen and (min-width: 500px) { body { /* Define primary layout styles here */ } }
  • 51. Opcional: Suporte 320px App especifica a sua largura mínima no manifesto Recomendações são similares às da Snapped View no Windows 8: Reduza o tamanho das margens, do botão Back e do título
  • 52. Opcional: Suporte 320px App Windows 8 em modo compat: A app pode ter qualquer tamanho a partir de 320px Entre 320px e 500px, app é fixada em 320px com “pillarboxing” Quando a app for atualizada para 8.1: Se a app decidir suportar 320px: A app pode ter qualquer tamanho a partir de 320px Não há mais o efeito de “pillarboxing”
  • 53.
  • 54. Propriedades de um Share Source As propriedades do DataPackage ajudam o seu conteúdo a ter uma visualização ótima em apps target Propriedades atuais no Windows 8 Title Description Thumbnail Novas propriedades no Windows 8.1 Square30x30Logo LogoBackgroundColor ContentSourceWebLink ContentSourceApplicationLink
  • 55.
  • 56. Melhorias em Share targets Forneça uma descrição do seu comportamento de Share no manifesto Feche o painel de Share via código usando o método DismissUI
  • 57. ApplicationLinks x WebLinks WebLinks vincula conteúdo da Web ApplicationLinks vincula conteúdo da App
  • 58.
  • 59. Apps são mais rápidas no Windows 8.1 sem mudança de código 5-30% +rápido tartup de uma app com ListView 2x +rápido List panning 10-20% menor Uso de memória em XAML 15-35% +rápido Edição em uma ListView WinJS
  • 60. • Os números de versão da app Windows 8 nunca podem exceder a primeira versão publicada da app Windows 8.1
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. SESSÃO: DESENVOLVIMENTO TRILHA: WINDOWS STORE APPS Referências • • • • • • Windows 8.1 Preview Product Guide for Developers Windows API reference for Windows Store apps Windows 8.1 Preview samples Windows 8.1 Preview: New APIs and features for developers Migrating Windows 8 apps to Windows 8.1 Preview Visual Studio 2013 Preview © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.