Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced

  • APP Mobile & Development

Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced

24 horas
Visão Geral

Este Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced é projetado para capacitar profissionais experientes em C# e com conhecimento intermediário em C++ no desenvolvimento de aplicações modernas para Windows usando C++/WinRT, com WinUI 3 e WinAppSDK. O curso também abordará interoperabilidade entre C++/WinRT e C#.

O que é C++/WinRT com WinUI 3 e WinAppSDK?

  • C++/WinRT: É uma biblioteca moderna baseada em C++ que permite aos desenvolvedores acessar as APIs do Windows Runtime (WinRT) de forma eficiente e nativa. O WinRT é a base para criar aplicações modernas no Windows, como aplicativos UWP (Universal Windows Platform), e o C++/WinRT oferece uma abordagem simplificada e performática para interagir com essas APIs, substituindo tecnologias mais antigas como C++/CX ou WRL.
  • WinUI 3: É a terceira geração da biblioteca de interface de usuário da Microsoft, projetada para criar interfaces gráficas modernas, consistentes e visualmente atraentes para aplicações Windows. Diferente do WinUI anterior, que era restrito ao UWP, o WinUI 3 pode ser usado em aplicações desktop tradicionais, oferecendo controles avançados e suporte a XAML.
  • WinAppSDK (Windows App SDK): É um conjunto de ferramentas e bibliotecas que unifica o desenvolvimento para Windows, permitindo que desenvolvedores criem aplicações desktop (não apenas UWP) com acesso às APIs modernas do WinRT, incluindo o WinUI 3. Ele fornece recursos como threading, acesso ao sistema e integração com tecnologias nativas do Windows, independentemente do framework (.NET, C++, etc.).

Juntos, C++/WinRT, WinUI 3 e WinAppSDK formam uma poderosa combinação para desenvolver aplicações desktop Windows modernas, rápidas e com interfaces gráficas ricas, aproveitando o desempenho do C++ e a flexibilidade do ecossistema Windows.

Objetivo

Após realizar este Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced, você será capaz de:

  • Criar aplicações modernas para Windows usando C++/WinRT, WinUI 3 e WinAppSDK.
  • Implementar interfaces gráficas eficientes e responsivas.
  • Integrar C++/WinRT com C#.
  • Trabalhar com comunicação assíncrona e multithreading.
  • Otimizar performance e gerenciar memória de forma eficiente.
  • Garantir segurança e proteção de dados em suas aplicações.
  • Criar uma aplicação completa como projeto final.

O que vou aprender após o término desse curso?

Ao concluir o Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced, você terá adquirido um conjunto abrangente de habilidades práticas e avançadas, incluindo:

  • Fundamentos e Arquitetura: Entender como o C++/WinRT, WinUI 3 e WinAppSDK funcionam juntos e como se diferenciam de tecnologias anteriores (UWP, C++/CX).
  • Interfaces Gráficas Modernas: Criar interfaces ricas com WinUI 3, utilizando XAML, MVVM, eventos e controles personalizados.
  • Interoperabilidade C# e C++: Integrar código C++/WinRT com C# via projeções WinRT, COM Interop e P/Invoke, permitindo flexibilidade em projetos híbridos.
  • Programação Assíncrona: Implementar operações assíncronas com co_await, gerenciar threads e evitar problemas como deadlocks.
  • Acesso ao Sistema: Manipular arquivos, configurações e APIs nativas (Win32) com segurança e eficiência.
  • Networking: Desenvolver comunicação entre processos (ex.: TCP/IP, Named Pipes) e integrar serviços HTTP.
  • Otimização: Aplicar técnicas de gerenciamento de memória (RAII, smart pointers) e diagnosticar desempenho com ferramentas como o Visual Studio Profiler.
  • Segurança: Proteger dados com criptografia, permissões e prevenção contra ataques (buffer overflow, injeções).
  • Projeto Prático: Construir uma aplicação desktop completa (ex.: transferência de arquivos segura) que combine todos esses elementos.

Você sairá do curso com a capacidade de desenvolver aplicações Windows avançadas e práticas, prontas para cenários reais.

Publico Alvo

Quais são os profissionais que devem participar deste Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced?

Esse Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced é voltado para profissionais com experiência técnica que desejam se especializar ou aprimorar suas habilidades em desenvolvimento avançado para Windows. Os principais perfis incluem:

  • Desenvolvedores C# com interesse em C++: Profissionais experientes em C# (ex.: .NET, WPF, UWP) que desejam migrar ou integrar suas habilidades com C++ para criar aplicações mais performáticas.
  • Desenvolvedores C++ intermediários: Aqueles com conhecimento em C++ que buscam dominar o C++/WinRT para desenvolver aplicações modernas no Windows.
  • Engenheiros de Software: Especialistas em sistemas Windows que precisam criar soluções desktop otimizadas, seguras e escaláveis.
  • Arquitetos de Software: Responsáveis por projetar aplicações híbridas (C# e C++) que exigem alta performance e integração com APIs nativas.
  • Desenvolvedores de Aplicações Desktop: Que trabalham com ferramentas legadas (ex.: Win32, MFC) e desejam modernizar seus projetos com WinUI 3 e WinAppSDK.
  • Profissionais de TI em transição: Que buscam especialização em desenvolvimento avançado para Windows como diferencial no mercado.

Esse Curso C++/WinRT com WinUI 3 e WinAppSDK Advanced é ideal para quem já tem uma base técnica sólida e quer dar um passo além no desenvolvimento nativo para Windows.

Pre-Requisitos
  • Conhecimento intermediário de C++.
  • Experiência com desenvolvimento em C#.
  • Familiaridade com Visual Studio e desenvolvimento para Windows.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Fundamentos do C++/WinRT e Arquitetura WinAppSDK

  1. Visão geral do Windows Runtime (WinRT) e seu papel na plataforma Windows.
  2. Diferenças entre UWP, WinUI 3 e WinAppSDK.
  3. Estrutura do C++/WinRT: projeções, namespaces, geração de código.
  4. Comparação entre C++/WinRT, C++/CX e WRL.
  5. Criando um projeto com WinUI 3 e WinAppSDK no Visual Studio.

Criando Interfaces Gráficas com WinUI 3 e C++/WinRT

  1. Estrutura de uma aplicação WinUI 3 (Desktop) com C++/WinRT.
  2. Manipulação da UI com XAML: layouts, controles e bindings.
  3. Trabalhando com MVVM em C++/WinRT (separação entre UI e lógica).
  4. Eventos e comunicação entre componentes UI e código C++.
  5. Customização de controles e estilos no WinUI 3.

Interoperabilidade entre C++/WinRT e C#

  1. Chamando código C++/WinRT a partir do C# (projeções WinRT).
  2. Criando bibliotecas WinRT em C++ para uso no C#.
  3. P/Invoke e COM Interop para integração direta entre C# e C++.
  4. Interop com .NET 6/7+ e desafios na comunicação entre os dois mundos.
  5. Exemplo prático: Criando uma API de alto desempenho em C++/WinRT e consumindo em um aplicativo C#.

Comunicação Assíncrona e Multithreading em C++/WinRT

  1. Programação assíncrona com co_await e IAsyncAction/IAsyncOperation.
  2. Trabalhando com Thread Pool e Background Tasks no WinAppSDK.
  3. Comunicação segura entre UI Thread e Worker Threads.
  4. Sincronização de dados e compartilhamento seguro de recursos.
  5. Estratégias avançadas para evitar deadlocks e race conditions.

Acesso ao Sistema e Gerenciamento de Arquivos

  1. Trabalhando com StorageFile, StorageFolder e FileOpenPicker.
  2. Lendo e escrevendo arquivos em C++/WinRT.
  3. Integração com APIs nativas do Windows (Win32) via WinAppSDK.
  4. Implementando logging e diagnóstico de erros em tempo de execução.
  5. Acesso e manipulação de configurações do sistema.

Comunicação entre Processos e Networking

  1. Criando Named Pipes e Sockets TCP/IP em C++/WinRT.
  2. Comunicação entre processos usando WinRT Remoting.
  3. Serialização e deserialização de JSON e XML.
  4. Conectando-se a serviços HTTP usando Windows.Networking.Http.
  5. Exemplo prático: Implementando um servidor e cliente TCP usando C++/WinRT.

Otimização de Performance e Gerenciamento de Memória

  1. Estratégias para evitar memory leaks com RAII (Resource Acquisition Is Initialization).
  2. Uso eficiente de winrt::com_ptr<> e smart pointers.
  3. Técnicas de cache e pooling de objetos.
  4. Diagnóstico de performance com Visual Studio Profiler.
  5. Melhores práticas para uso eficiente de buffers e streams.

Segurança e Proteção de Dados em C++/WinRT

  1. Gerenciamento de permissões no WinAppSDK.
  2. Proteção de dados com Windows.Security.Cryptography.
  3. Uso de SecureString e Data Protection API (DPAPI).
  4. Prevenção contra buffer overflows e injeções de código.
  5. Implementação de sandboxing e isolamento de processos.

Projeto Final - Criando uma Aplicação Completa
Desenvolvimento de um aplicativo desktop seguro para transferência de arquivos via TCP/IP, com:
 - UI moderna com WinUI 3 para seleção e envio de arquivos.
 - Criptografia antes do envio (AES ou RSA).
 - Processamento paralelo (multithreading) para melhor desempenho.
 - Mecanismos de segurança contra ataques (buffer overflow, injeções, etc.).
 - Interoperação entre C++/WinRT e C# para máxima flexibilidade.

 

TENHO INTERESSE

Cursos Relacionados

Curso Python Introdução a Programação

32 horas

Curso iOS Swift Desenvolvendo Apps

40 horas

Curso Desenvolvimento de Aplicações Para SAP HANA 

24horas

Curso Big Data Analyst Mineração de Dados

32 horas

Curso SAP FIORI Desenvolvedor Fiori

32 Horas

Curso SAP ABAP HANA - Desenvolvedor ABAP HANA

24 horas

Curso Técnicas de integração de dados ETL

16 horas

Curso Cloudera Developer para Apache Spark e Hadoop

32 horas

Curso Cloudera Administrador Apache Hadoop

32 horas