Windows 10 Developer Readiness - Brasil

887 visualizações

Publicada em

Palestra Windows 10 Developer Readiness, realizada no Brasil, como início dos estudos para desenvolvimento de apps para Windows 10, com o novo Universal Windows Platform.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Windows 10 Developer Readiness - Brasil

  1. 1. Windows 10 Developer Readiness - Brasil - Powered by MVPs Alexandre Chohfi – chohfi@outlook.com Rodolfo Fadino - rodolfo.fadino@gmail.com
  2. 2. http://windows.Microsoft.com Agenda Uma única plataforma Um Windows | Múltiplos dispositivos Experiência do desenvolvedor Ferramentas | .Net Native Uma loja + Estratégias de Monetização Propaganda | Compras XAML A plataforma de UI com XAML (Fundamental + Avançado) Template 10 Template da comunidade para desenvolvedores Windows 10
  3. 3. Introduzindo o UWP
  4. 4. http://windows.Microsoft.com Windows Core Um Core comum refatorado Uma plataforma de hardware Formato unico de acesso ao hardware Rede e I/O padronizadas Phone Dispositivo Xbox Dispositivo Desktop Dispositivo Windows Core Desktop SKU Phone SKU Xbox SKU
  5. 5. http://windows.Microsoft.com One Windows Desktop SKU PC 2 in 1 Mobile SKU Tablet Phablet Phone Xbox SKU Xbox IoT SKU Band IoT headless SKU Raspberry Pi Home Automation Surface Hub SKU Surface Hub Holographic SKU HoloLens
  6. 6. Cada família adiciona funcionalidades em cima do qual ele herda
  7. 7. http://windows.Microsoft.com Fácil de usuários adotarem & se manterem atualizados Core unificado e plataforma de apps A jornada de convergência Windows 10 Kernel do SO Convergido Modelo de desenvolvimento convergido
  8. 8. http://windows.Microsoft.com Phone Tablet Pequeno 2-em-1s (Tablet ou Laptop) Desktops & All-in-OnesPhablet Tablet Grande Laptop Clássico Xbox IoTSurface Hub Holografico Windows 10
  9. 9. http://windows.Microsoft.com Uma loja + Um Dev Center Reuso de código existenteUma SDK + Ferramenta Interface de Usuário adaptativa Inputs de Usuário naturais Uma Plataforma Universal do Windows (One Universal Windows Platform)
  10. 10. http://windows.Microsoft.com Universal Windows Platform Um único conjunto de APIs Um conjunto garantido de APIs O mesmo em todos os dispositivos Phone Dispositivo Xbox Dispositivo Desktop Dispositivo Windows Core Universal Windows Platform
  11. 11. Aplicativos não têm como alvo o Windows 10, aplicativos tem como alvo a plataforma
  12. 12. http://windows.Microsoft.com <TargetPlatform Name="Microsoft.Universal" minVersion="10.0.10069.0" maxVersionTested="10.0.10190.0"/>
  13. 13. A plataforma(UWP) pode atualizar-se em seu próprio ritmo
  14. 14. http://windows.Microsoft.com Windows app Um único binário(pacote) Rodando em qualquer dispositivo Testando por capacidades(capabilities) Ajustando para dispositivos Phone Dispositivo Xbox Dispositivo Desktop Dispositivo Windows Core Universal Windows Platform Windows App
  15. 15. http://windows.Microsoft.com A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve para iPad & iPhone Quando desenvolve para Android, O desenvolvedor escreve para todos os dispositivos suportados Quando desenvolve para Windows 8, O desenvolvedor escreve para cada um dos dispositivos Quando desenvolve para Windows 10, O desenvolvedor escreve para todos os dispositivos
  16. 16. http://windows.Microsoft.com Extensões da plataforma API específica para dispositivos Capacidades específicas da família Compatível entre dispositivos Cadência única de atualização Phone Dispositivo Xbox Dispositivo Desktop Dispositivo Windows Core Universal Windows Platform Windows App Phone extensão Xbox extensão Desktop extensão
  17. 17. Extensões não invalidam os binários em outras plataformas
  18. 18. http://windows.Microsoft.com Universal Windows Platform Um Sistema Operacional Um Core do Windows para todos os dispositivos Uma Plataforma de Apps Apps rodam dentro de sua família Um Dev Center Um único fluxo de submissão e um dashboard Uma Loja Alcance global, monetização local Consumidores, Empresas & Academia
  19. 19. XAML/.Net não é a única maneira de se criar Windows Apps
  20. 20. http://windows.Microsoft.com Windows 10 sistema operacional Tecnologias de pontes(Bridges) Win32 desktop Web hospedado Java Android Obj.C iOS Universal Windows Platform WWAC++ & CX .Net linguagens HTML DirectX XAML C++ .Net linguagens MFCWFWPF .Net runtime
  21. 21. http://windows.Microsoft.com Tecnologias de pontes (Bridges) Objective-C No Build foi anunciado que código iOS pode ser reutilizado em Apps Windows Android No Build foi anunciado que código Android pode ser reutilizado em um App Windows para rodar no Windows Phone Web No Build foi anunciado que web sites podem ser empacotados para rodar no Windows Win32 No Build foi anunciado que Classic Windows Apps (CWA) podem ser empacotados como um Appx
  22. 22. Pontes trazem mais aplicativos para a plataforma Windows
  23. 23. http://windows.Microsoft.com Design Adaptativo Design responsivo Design flexivel que responde a pequenas mudanças Muitos controles gerenciam responsividade básica Design adaptativo Layouts inteligentes que se ajustam em grandes mudanças Funcionalidades como visual states ajudam nesta solução Design sob medida/específico (Tailored) App específico para um dispositivo pode simplificar o design Alguns dispositivos podem ter uma linguagem de design única
  24. 24. http://windows.Microsoft.com Design adaptativo Phone (retrato) Tablet (paisagem) / Desktop
  25. 25. http://windows.Microsoft.com Design sob medida Phone (retrato) Tablet (paisagem) / Desktop
  26. 26. http://windows.Microsoft.com Continuum for Convertibles and PhonesContinuum para conversíveis(2in1 e Celulares
  27. 27. http://windows.Microsoft.com Código adaptativo Um binário compatível entre devices API universal com implementações específicas por dispositivo Ilumine seu App com funcionalidades Testando por namespaces e funcionalidades
  28. 28. Usuários amam Apps que funcionam bem em todos seus devices
  29. 29. http://windows.Microsoft.com Teste por recursos em runtime Utilize código adaptativo para iluminar seu App em dispositivos específicos var api = "Windows.Phone.UI.Input.HardwareButtons"; if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api)) { Windows.Phone.UI.Input.HardwareButtons.CameraPressed += CameraButtonPressed; }
  30. 30. http://windows.Microsoft.com UAP Windows Core Windows Core Windows Core Windows Core UAP UAP UAP Desktop Mobile Xbox Outros…
  31. 31. As famílias de dispositivos que você escolher determinam quais APIs você poderá chamar livremente
  32. 32. DEMO Código adaptativo
  33. 33. Um simples, unificado e integrado ambiente de desenvolvimento
  34. 34. http://windows.Microsoft.com Visual Studio IDE Todos os tipos de projeto Desktop, Windows, Phone, Serviços, Web, Games, Outros… Todas as tarefas de um desenvolvedor Edição de código, design de arquitetura, design de UX, Debug, Profiling, Review, Testes, Muito Mais… Todas as linguagens C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, Outras… Visual Studio Online Repositório de código, gerenciamento de projeto, track de bugs, muito mais…
  35. 35. Apresentando o Roslyn, o novo compilador para o .Net
  36. 36. http://windows.Microsoft.com Blend for Visual Studio A IDE do desenvolvedor XAML Sempre parte do Visual Studio Utiliza o shell do Visual Studio Auto-completar & intellisense completos • Validação • Snippets • Peek Gerenciamento de arquivos & solução Gerenciamento de Recursos Gerenciamento de Dados Animações Estados (States)
  37. 37. http://windows.Microsoft.com Edições do Visual Studio 2015 Enterprise Modelagem de arquitetura, Diagnosticos, VSO/ALM & Release Management Professional Validação de Arquitetura, VSO/ALM & Feedback Management Edição Community Visual Studio Professional Edition
  38. 38. http://windows.Microsoft.com Microsoft Developer Network Documentação Microsoft http://msdn.Microsoft.com http://dev.Windows.com Treinamentos Microsoft http://msevents.Microsoft.com http://MicrosoftVirtualAcademy.com MSDN Subscription Sistemas Operacionais Produtos Server/Client Ferramentas de Desenvolvimento Créditos no Azure/O365
  39. 39. http://windows.Microsoft.com Developer unlock
  40. 40. http://windows.Microsoft.com Onde eu posso desenvolver? Windows 10 Necessita do Visual Studio 2015 Melhor cenário Windows 8.1 & Windows Server 2012 R2 O designer do Visual Studio não funciona Debug necessita um dispositivo com Windows 10, emuladores ou as Ferramentas de Debug Remoto (Remote Debugging Tools) Windows 7 O designer do Visual Studio não funciona Debug necessita um dispositivo com Windows 10 ou as Ferramentas de Debug Remoto (Remote Debugging Tools)
  41. 41. Linguagens gerenciadas estão mais eficientes do que nunca
  42. 42. http://windows.Microsoft.com .NET Native Próxima geração de compiladores na núvem Todos Apps Windows Apps usam o otimizador padrão do C++ A medida que o otimizador melhora, o mesmo se reflete no .Net native Apps com o bootstrapper .Net Inclúi garbage collection Não existe runtime É código de maquina
  43. 43. Todo App Windows será é compilado com o .Net Native
  44. 44. http://windows.Microsoft.com Beneficios reais com o .Net Native 50% mais rápido na inicialização 14% a menos no consumo médio de memória
  45. 45. .Net Native habilita a plataforma a atualizar-se muito mais rápido pois não tem dependências nos pacotes
  46. 46. http://windows.Microsoft.com 345 609 663 277 510 511 0 100 200 300 400 500 600 700 Hello World (M) Dialer (M) Calc (PC) Tempoemms 8.1 10 7.5 12.6 18.4 4.2 7 12.5 0 2 4 6 8 10 12 14 16 18 20 Hello World (M) Dialer (M) Calc (PC) DinâmicaemMB 8.1 10 InicializaçãoMemória Beneficios da plataforma universal
  47. 47. Windows 10 renderiza texto 50% mais rápido
  48. 48. Perguntas?
  49. 49. Loja do Windows (Store)
  50. 50. http://windows.Microsoft.com Apps Inclusive Win32 Música Jogos Xbox Vídeo Uma Loja, um catálogo
  51. 51. http://windows.Microsoft.com Venda seu app Uma submissão do App para todas as famílias de dispositivos Um conjunto de metadados de merchandise (em breve) Preços de assinaturas(Subscriptions) (em breve) A loja também estará na web (em breve) Veiculação de Aplicativos Campanhas de advertising com balanceamento Códigos promocionais Propagandas de instalação de Apps In-House ads
  52. 52. Suas propagandas internas para promover seus outros Apps
  53. 53. http://windows.Microsoft.com Empacotamento da Windows Store Funcionalidade WP XAP 8.1 WP AppX 8.1 AppX 8.1 AppX 10.x Plataforma WP 8.1+ WP 8.1 Win 8.1 Win 10 Download específico para a build do OS do Device Encriptação (ainda não) App Bundles Assinatura do pacote Debug Download/Update diferencial (dif) File Single Instancing Instalação no Volume Externo (SD) (Win 10) Storage compartilhado do publisher
  54. 54. http://windows.Microsoft.com Distribuição na Windows Store Windows Phone 7.x, 8.x Windows 8.x Windows 10 Apps ocultos(Hidden) Preços por mercados Publicação independente de IAP Betas Trial baseado em tempo Descontos Publicação agendada
  55. 55. E Enterprises?
  56. 56. http://windows.Microsoft.com Participando na Business Store Apps publicados na loja pública são listados automaticamente na Business Store Enpresas podem comprar apps em lotes Licenciamento offline do seu App é opcional Suporta cenários onde dispositivos estão disconectados da internet Publique Apps de forma privada em lojas Portal de empresas permite associas contas de desenvolvedor, e depois ainda pode selecionar apps específicos para serem publicados apenas para aquela empresa, ignorando a loja pública
  57. 57. Microsoft advertising
  58. 58. http://windows.Microsoft.com Monetize seu app Compras no/do Aplicativo Trial baseado em tempo ou em limitação de funcionalidade In-App purchase Advertising Interstitial video Broker de Advertising In-app purchase Consumiveis & Duraveis (em breve) Assinaturas
  59. 59. http://windows.Microsoft.com Anuncie seu app Promova seu app Segmentação manual ou automática por idade, gênero ou localização Acompanhe e analise instalações de apps & campanhas Faça promoção cruzada de seus apps de graça Em breve Recursos de segmentação adicionais Apoio de análises de terceiros Aumento do orçamento de campanhas
  60. 60. http://windows.Microsoft.com Loja afiliadas Monetize em sites (blogs) Ganhe uma comissão de 7% sobre aplicativos, jogos, músicas, filmes e vídeos Faça vendas de bens físicos & digitais Pagamentos simplificados e mais rápidos
  61. 61. A atividade de pagamento da loja é centralizada e com limites + baixos
  62. 62. http://windows.Microsoft.com Microsoft advertising SDK
  63. 63. Nova mediação de ads maximiza a taxa de preenchimento (fill rate)
  64. 64. http://windows.Microsoft.com Video interstitials Beneficios Integra-se naturalmente Advertising baseado em recompensa Disponibilidade Windows 10 universal Windows/Phone 8.1 (em breve)
  65. 65. http://windows.Microsoft.com Considerações Melhores práticas Considere utilizar ads desde a fase conceitual do seu projeto Mostre ads em vídeos durante pausas naturais Associe ads com vantagens reais Piores práticas Mostrar ads ao abrir o app Interromper o fluxo normal do usuário Muitos e muitos anúncios
  66. 66. Compras dentro do app (in-app) podem ser duráveis ou consumiveis
  67. 67. http://windows.Microsoft.com In-app purchases #if DEBUG var license = CurrentAppSimulator.LicenseInformation; if (license.ProductLicenses["AdFree"].IsActive) { // already owns this.ShowAds = false; } else { var result = await CurrentAppSimulator.RequestProductPurchaseAsync("AdFree"); switch (result.Status) { case ProductPurchaseStatus.Succeeded: case ProductPurchaseStatus.AlreadyPurchased: this.ShowAds = false; break; default: this.ShowAds = true; break; }
  68. 68. A loja do Windows dispoem de várias formas de monetizar seu app
  69. 69. Perguntas?
  70. 70. A história do XAML
  71. 71. http://windows.Microsoft.com A plataforma de UI XAML Windows está sendo padronizado Novas experiências como o menu iniciar e o explorer usam a plataforma de UI XAML O sistema operacional tem necessidades absurdas de performance Office está sendo padronizado A suite universal de apps do Office usam a plataforma de UI XAML O Office tem necessidades absurdas de usabilidade e funcionalidades First-party esta sendo padronizado Os novos e já existentes apps do MSN para Windows usam a plataforma de UI XAML Apps first-party apps empurram os limites da disponibilidade e capacidade da API
  72. 72. A plataforma de UI XAML é parte da fundação do Windows
  73. 73. http://windows.Microsoft.com WPF É uma parte essencial do Windows O .NET Framework é um componente do SO WPF é um componente do .NET Framework A próxima versão do WPF A roadmap do WPF para o .NET 4.6 é pública Novas ferramentas para o WPF incluem a Live Tree/Debug Acesso a APIs modernas Novas APIs do WinRT estão disponíveis para os apps desktop Novas funcionalidades do shell (como o Toast) também estão disponíveis
  74. 74. O XAML do Windows vai continuar a inovar dentro do Windows
  75. 75. http://windows.Microsoft.com Blend, a IDE do desenvolvedor XAML Casca do Visual Studio Intellisense de XAML XAML Peek Configurações sincronizadas Abertura rápida Blend Clássico Resources Data Storyboards States Behaviors
  76. 76. Controles na toolbox XAML
  77. 77. http://windows.Microsoft.com Considerações de Design Mantenha seu design flúido Design responsivo Considere telas pequenas Design adaptativo Mudanças maiores na tela Design específico (Tailored) Layouts específicos por devices
  78. 78. DEMO Design Adaptativo
  79. 79. http://windows.Microsoft.com Controles de Layout <Border Thickness="" Brush="" /> <Canvas /> <Grid /> <RelativePanel /> <ScrollViewer /> <SplitView DisplayMode="" /> <StackPanel Orientation="" /> <VariableSizedWrapGrid /> <ViewBox Stretch="" />
  80. 80. http://windows.Microsoft.com Canvas
  81. 81. http://windows.Microsoft.com StackPanel
  82. 82. http://windows.Microsoft.com Grid
  83. 83. http://windows.Microsoft.com WrapGrid
  84. 84. http://windows.Microsoft.com ScrollViewer
  85. 85. http://windows.Microsoft.com Viewbox
  86. 86. http://windows.Microsoft.com RelativePanel (*novo) Alguns elementos filhos agem como âncoras Maioria dos elementos filhos são relacionados Técnica de layout que funciona bem com States
  87. 87. http://windows.Microsoft.com SplitView IsPaneOpen="True" IsPaneOpen="False" DisplayMode= "Inline" DisplayMode= "Overlay" DisplayMode= "CompactInline" DisplayMode= "CompactOverlay"
  88. 88. http://windows.Microsoft.com Buttons <Button Content="" /> <HyperlinkButton /> <RepeatButton /> <ToggleButton IsChecked="" />
  89. 89. http://windows.Microsoft.com Controles de Texto <TextBox Text="" /> <PasswordBox Text="" /> <TextBlock Text="" /> <RichEditBox Content="" /> <RichTextBlock Content="" /> <BitmapIcon UriSource="" /> <FontIcon Glyph="" /> <SymbolIcon Icon="" /> <PathIcon Data="" />
  90. 90. http://windows.Microsoft.com Controles de seleção e pickers <CalendarView /> <DatePicker Date="" /> <TimePicker Time="" /> <ToggleSwitch IsChecked="" /> <CheckBox IsCHecked="" /> <RadioButton IsChecked="" /> <ComboBox /> <ListBox /> <Slider Minimum="" Maximum="" />
  91. 91. http://windows.Microsoft.com Controles de coleção/dados <ItemsControl ItemsSource="" /> <FlipView /> <GridView /> <ListView /> <SematicZoom /> <Hub Orientation="" /> <ContentControl ControlTemplate="" /> <DataTemplate /> <ItemsPanelTemplate /> <ControlTemplate /> <ContentPresenter /> <ItemsPresenter /> <ContentControl />
  92. 92. http://windows.Microsoft.com Sintaxe do Grid View GridViews podem ser reordenadas
  93. 93. http://windows.Microsoft.com Sintaxe do List View
  94. 94. http://windows.Microsoft.com Sintaxe do Flip View
  95. 95. http://windows.Microsoft.com Sintaxe do Hub
  96. 96. http://windows.Microsoft.com App bars e commands <AppBar /> <CommandBar /> <AppBarButton Label="" Icon="" /> <AppBarToggleButton IsChecked="" /> <AppBarSeparator />
  97. 97. http://windows.Microsoft.com Controles de Flyout <Popup IsOpen="" /> <ContentDialog Title="" Content="" /> <Flyout Placement="" /> <MenuFlyout /> <ToolTip />
  98. 98. http://windows.Microsoft.com Controles de progresso, Media & Inking <ProgressBar IsIntermediate="" /> <ProgressRing IsActive="" /> <Image /> <InkCanvas /> <MediaElement /> <CaptureElement />
  99. 99. http://windows.Microsoft.com O que é um Resource XAML? Resources de sistema ThemeResources Resources customizados Valores (por exemplo font size) Objetos (por exemplo color brushes) Estilos de controles BasedOn Templates Templates de Controles Data templates
  100. 100. http://windows.Microsoft.com Janela de Resource
  101. 101. DEMO XAML Desktop e Phone
  102. 102. Perguntas?
  103. 103. http://windows.Microsoft.com Introduzindo o “Template 10” Um novo template “vazio” Inclui alguns arquivos e pastas vazias para indicar o caminho da convenção Similar ao template do MVC Componentes adicionais para resolver problemas comuns Resolvendo para os 90% O código vai resolver o “caso de uso dos 90%” Entregando com o Windows 10 O template esta no GitHub durante o desenvolvimento
  104. 104. Contribua para o Template10 http://aka.ms/template10
  105. 105. http://windows.Microsoft.com Revisão Uma única plataforma Um Windows | Múltiplos dispositivos Experiência do desenvolvedor Ferramentas | .Net Native Uma loja + Estratégias de Monetização Propaganda | Compras XAML A plataforma de UI com XAML (Fundamental + Avançado) Visite o site do programa MVP para ver a gravação! http://aka.ms/Win10MVP
  106. 106. Perguntas?
  107. 107. Fique ligado para mais eventos globais dos MVPs! Entre em http://mvp.microsoft.com

×