SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
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]

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais de MVP ShowCast

Mais 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]
 

Último

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
 
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
 

Último (20)

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
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
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
 

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.