SlideShare uma empresa Scribd logo
1 de 32
2ª Reunião Porto - 14/04/2012   http://netponto.org




                            Windows 8:
       Como Desenvolver Metro Style Apps
                                       Caio Proiete
Caio Proiete
Consultor Independente / Freelancer
  –> http://caioproiete.net

Formador @ CICLO
  –> http://ciclo.pt

Microsoft MVP, MCT, MC*.net
Agenda
• Windows 8
  – “Hello Windows 8”
  – “Hello Metro Apps”

• Desenvolver uma pequena Metro App
  do início até ... onde der :)
Disclaimer: Beta Bits
 • Algumas coisas ainda podem mudar
   até a versão final        RTM / GA

                                             ?
                                  Release
                                 Candidate
                                    ?
                Consumer
                 Preview
                Fevereiro/2012
  Developer
   Preview
Setembro/2011
Windows 8
• Nova experiência de utilização
• Windows Runtime (WinRT)
• Novo ambiente de execução de Apps
• Windows Store
Windows 8: Nova experiência
Windows 8: Nova experiência
Windows 8: Controlos
Windows 8
Windows Runtime (WinRT) APIs
Windows Runtime (WinRT) APIs
• Acesso aos recursos do sistema
  operativo, serviços e hardware

• São assíncronas

• Utilização natural em C#, JavaScript e
  C++
Código C# que escrevemos hoje...
 DllImport "avicap32.dll"           "capCreateCaptureWindow"
static extern int
  string                  int
  int    int    int           int
  int             int

 DllImport "avicap32.dll"
static extern bool
  int
   MarshalAs UnmanagedType          ref string
  int
   MarshalAs UnmanagedType          ref string
  int

// (continua...)
Código semelhante no Windows 8 (C#)
using Windows.Media.Capture;

var         new CameraCaptureUI
                                             new Size

var           await
                            CameraCaptureUIMode

if

      var             new BitmapImage
                          await
                            FileAccessMode
Código semelhante no Windows 8 (JS)
var ui = new Windows.Media.Capture.CameraCaptureUI();

ui.photoSettings.croppedAspectRatio = {
    width: 4, height: 3 };

ui.captureFileAsync(Windows.Media.Capture.CameraCapture
UIMode.photo).done(function (file) {
    if (file) {
        var imageBlobUrl = URL.createObjectURL(file);
        id("photo").src = imageBlobUrl;
    }
});
CameraCaptureUI
Instalação típica de Metro Apps
App Manifest e Capabilities
• Aplicações declaram os recursos que
  necessitam
  –   Acesso a ficheiros (Documentos, Fotos, etc...)
  –   Dispositivos (WebCam, Microfone, SMS, etc...)
  –   Rede e identidade (Internet, rede privada, etc...)
  –   Associação a tipos de ficheiro (*.doc, etc...)
  –   Contratos que implementa (Search, Share, etc...)

• appxmanifest.xml
Ambiente de Execução das Apps
Ciclo de vida das aplicações Metro
Ciclo de vida das Metro Apps
Windows Store
Windows Store – Potencial
Windows Store – Quality Labs
• Até o lançamento, só apps que
  passarem no Quality Labs (Maio e
  Junho) entram na Windows Store
• App precisa ser mesmo boa!! 
• Só por convite (Chatear o Tiago A. Silva)
  – tiagoand@microsoft.com
Desenvolvimento de uma Metro App
Desenvolvimento de uma Metro App
Desenvolvimento da App
  “Revista Programar”
Funcionalidades a implementar...
•   Search: Sugestões de Resultados
•   Share: Partilhar imagem da revista
•   Settings: Ecrã com preferências do utilizador
•   Orientation: Adaptação do layout de acordo com as
    mudanças de orientação (portrait / snapped)
• PLM: Gravar a restaurar estado da aplicação
• Live Tiles: Mostrar capa das últimas edições na tile da
    aplicação
• Push Notifications: Mostrar alerta de nova edição
    disponível para download
...
Questões?
Próximos passos
Windows Dev Center
   – http://dev.windows.com

Windows 8 app developer blog
   – http://blogs.msdn.com/b/windowsappdev/

Building Windows 8
    – http://blogs.msdn.com/b/b8/

The Windows Store blog
   – http://blogs.msdn.com/b/windowsstore/
Patrocinadores "GOLD"
Próximas reuniões presenciais
• 14/04/2012 – Abril (Porto)
• 21/04/2012 – Abril (Lisboa)
• 12/05/2012 – Maio (Coimbra)
• 26/05/2012 – Maio (Lisboa)

Reserva estes dias na agenda! :)
Obrigado!

Caio Proiete
caio@netponto.org
http://caioproiete.net
http://twitter.com/caioproiete

Mais conteúdo relacionado

Semelhante a Windows 8: Desenvolvimento de Metro Style Apps

Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012guisester
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesCaio Chaves Garcez
 
.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio
.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio
.NET Core 3.x e ASP.NET Core 3.x - Coders in RioRenato Groff
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreIgor Abade
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livrePedro Neto
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019Renato Groff
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidilegra
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Stefanini
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Rogério Moraes de Carvalho
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 

Semelhante a Windows 8: Desenvolvimento de Metro Style Apps (20)

Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio
.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio
.NET Core 3.x e ASP.NET Core 3.x - Coders in Rio
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive - Coders in Rio Summit 2019
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 

Mais de C. Augusto Proiete

Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)C. Augusto Proiete
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkC. Augusto Proiete
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesC. Augusto Proiete
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10C. Augusto Proiete
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010C. Augusto Proiete
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationC. Augusto Proiete
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoC. Augusto Proiete
 

Mais de C. Augusto Proiete (12)

Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3
 
Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET Framework
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidades
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
Novidades do CSharp 4.0
Novidades do CSharp 4.0Novidades do CSharp 4.0
Novidades do CSharp 4.0
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication Foundation
 
ASP .NET MVC na Prática
ASP .NET MVC na PráticaASP .NET MVC na Prática
ASP .NET MVC na Prática
 
Introdução ao ASP .NET MVC
Introdução ao ASP .NET MVCIntrodução ao ASP .NET MVC
Introdução ao ASP .NET MVC
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPonto
 

Windows 8: Desenvolvimento de Metro Style Apps

  • 1. 2ª Reunião Porto - 14/04/2012 http://netponto.org Windows 8: Como Desenvolver Metro Style Apps Caio Proiete
  • 2. Caio Proiete Consultor Independente / Freelancer –> http://caioproiete.net Formador @ CICLO –> http://ciclo.pt Microsoft MVP, MCT, MC*.net
  • 3. Agenda • Windows 8 – “Hello Windows 8” – “Hello Metro Apps” • Desenvolver uma pequena Metro App do início até ... onde der :)
  • 4. Disclaimer: Beta Bits • Algumas coisas ainda podem mudar até a versão final RTM / GA ? Release Candidate ? Consumer Preview Fevereiro/2012 Developer Preview Setembro/2011
  • 5. Windows 8 • Nova experiência de utilização • Windows Runtime (WinRT) • Novo ambiente de execução de Apps • Windows Store
  • 6. Windows 8: Nova experiência
  • 7. Windows 8: Nova experiência
  • 11. Windows Runtime (WinRT) APIs • Acesso aos recursos do sistema operativo, serviços e hardware • São assíncronas • Utilização natural em C#, JavaScript e C++
  • 12. Código C# que escrevemos hoje... DllImport "avicap32.dll" "capCreateCaptureWindow" static extern int string int int int int int int int DllImport "avicap32.dll" static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int // (continua...)
  • 13. Código semelhante no Windows 8 (C#) using Windows.Media.Capture; var new CameraCaptureUI new Size var await CameraCaptureUIMode if var new BitmapImage await FileAccessMode
  • 14. Código semelhante no Windows 8 (JS) var ui = new Windows.Media.Capture.CameraCaptureUI(); ui.photoSettings.croppedAspectRatio = { width: 4, height: 3 }; ui.captureFileAsync(Windows.Media.Capture.CameraCapture UIMode.photo).done(function (file) { if (file) { var imageBlobUrl = URL.createObjectURL(file); id("photo").src = imageBlobUrl; } });
  • 17. App Manifest e Capabilities • Aplicações declaram os recursos que necessitam – Acesso a ficheiros (Documentos, Fotos, etc...) – Dispositivos (WebCam, Microfone, SMS, etc...) – Rede e identidade (Internet, rede privada, etc...) – Associação a tipos de ficheiro (*.doc, etc...) – Contratos que implementa (Search, Share, etc...) • appxmanifest.xml
  • 19. Ciclo de vida das aplicações Metro
  • 20. Ciclo de vida das Metro Apps
  • 22. Windows Store – Potencial
  • 23. Windows Store – Quality Labs • Até o lançamento, só apps que passarem no Quality Labs (Maio e Junho) entram na Windows Store • App precisa ser mesmo boa!!  • Só por convite (Chatear o Tiago A. Silva) – tiagoand@microsoft.com
  • 26. Desenvolvimento da App “Revista Programar”
  • 27. Funcionalidades a implementar... • Search: Sugestões de Resultados • Share: Partilhar imagem da revista • Settings: Ecrã com preferências do utilizador • Orientation: Adaptação do layout de acordo com as mudanças de orientação (portrait / snapped) • PLM: Gravar a restaurar estado da aplicação • Live Tiles: Mostrar capa das últimas edições na tile da aplicação • Push Notifications: Mostrar alerta de nova edição disponível para download ...
  • 29. Próximos passos Windows Dev Center – http://dev.windows.com Windows 8 app developer blog – http://blogs.msdn.com/b/windowsappdev/ Building Windows 8 – http://blogs.msdn.com/b/b8/ The Windows Store blog – http://blogs.msdn.com/b/windowsstore/
  • 31. Próximas reuniões presenciais • 14/04/2012 – Abril (Porto) • 21/04/2012 – Abril (Lisboa) • 12/05/2012 – Maio (Coimbra) • 26/05/2012 – Maio (Lisboa) Reserva estes dias na agenda! :)