Rumo ao Código: Guia Prático para Instalar o Visual Studio
Desenvolva Apps Multiplataforma com .NET MAUI e C#
Se você já se perguntou se existe uma forma de criar aplicativos para Android, iOS, Windows
Instalando e configurando o MongoDB no Windows e Linux para uso com C#Aprenda a instalar e configurar o MongoDB no Windows e Linux, integrando-o com projetos C# para ambientes de desenvolvimento eficientes. e macOS usando apenas uma base de código em C#, é aí que entra o .NET MAUI (Multi-platform App UI). A ideia é bem simples: você escreve o código uma vez e, com pequenos ajustes específicos para cada plataforma, tem um app funcional em diversas telas e dispositivos. Isso significa menos retrabalho e mais foco no que realmente importa: resolver problemas do mundo real com software de qualidade.
Imagine criar
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. um app que funcione em Android, iOS, Windows
Instalando e configurando o MongoDB no Windows e Linux para uso com C#Aprenda a instalar e configurar o MongoDB no Windows e Linux, integrando-o com projetos C# para ambientes de desenvolvimento eficientes. e macOS usando apenas um código-fonte. É isso que o .NET MAUI oferece! Neste artigo, você aprenderá como dominar essa tecnologia para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! construir aplicações modernas, reduzindo custos e tempo de desenvolvimento.
Índice🔗
- 🚀 O que é MAUI e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. por que ele existe? - 🛠️ Instalação e Configuração
Gerenciando Secrets e Configs em Docker SwarmAprenda a proteger credenciais, chaves e tokens com Docker Swarm. Gerencie Secrets e Configs de forma segura, garantindo integridade dos dados críticos. - 📂 Estrutura de projeto
Estruturando projetos para maximizar o potencial do Native AOTAprenda a organizar seu projeto .NET para Native AOT, garantindo start-up ultrarrápido e executáveis mais leves, com eliminação de dependências desnecessárias. e principais elementos - 📱 Criando a interface
📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas. e interagindo com o usuário - 🔄 Code Sharing: A Mágica por Trás do MAUI
- 📱🌐 Plataformas Suportadas e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. Requisitos - ⚔️ MAUI vs
🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. Xamarin: Qual a Diferença? - 📱 Exemplo prático
📝 Logging com Serilog: Registre Tudo como um Detetive de Bugs!Aprenda a usar Serilog em .NET para registrar logs estruturados, identificar erros e enriquecer informações, transformando seu código num enigma solucionável.: aplicativo de tarefas em MAUI - 🚀 Publicando
📦 Crie um Pacote NuGet: Compartilhe seu Código!Aprenda a empacotar, configurar e publicar pacotes NuGet em C# passo a passo, com dicas profissionais e práticas recomendadas para seu projeto. seu App em Diferentes Plataformas - 🎯 Desafio Prático: App de Lista de Tarefas
Diferenças entre Threads, Tasks e Delegates em C#Aprenda as diferenças entre Threads, Tasks e Delegates em C#. Este tutorial prático ensina como otimizar a execução paralela e melhorar o desempenho. Multiplataforma - 📝 Boas práticas
🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados. e considerações finais
🚀 O que é MAUI e por que ele existe?🔗
O .NET MAUI é a evolução do Xamarin.Forms, mas com melhorias significativas que tornam o desenvolvimento multiplataforma ainda mais intuitivo. Ele permite criar
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. aplicativos nativos para diversas plataformas - Android, iOS, macOS, Windows - todos gerenciados por um único projeto
🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes..
Vantagens:
- Produtividade: Um só projeto, um só repositório
🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. e um único time trabalhando. - Economia de tempo: Ao invés de repetir lógica de negócio em cada plataforma, você mantém tudo centralizado.
- Acesso a recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. nativos: Quer usar câmera, GPS ou notificações push? O MAUI expõe APIs que se integram aos recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. de cada sistema operacional de maneira simples.
Um app de delivery precisa rodar em iOS e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. Android. Com MAUI, você escreve a lógica uma vez e adapta a UI para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! cada plataforma sem reescrever o código.
🛠️ Instalação e Configuração🔗
Pré-requisitos:
- Visual Studio
🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. 2022+ (com workload .NET MAUI) - SDKs das plataformas alvo (Android, iOS, etc.)
Passo a Passo:
2. Selecione a workload ".NET Multi-platform App UI development".
3. Instale os SDKs necessários (ex: Android API
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. 33).
# Via CLI (opcional):
dotnet workload install maui
📂 Estrutura de projeto e principais elementos🔗
Quando você cria um projeto
🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. .NET MAUI, a solução vem organizada com alguns arquivos essenciais:
- MainPage.xaml e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. MainPage.xaml.cs: Geralmente a “porta de entrada” do seu app. O XAML define a interface
📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas. (botões, labels, etc.), e o arquivo C# conectado controla a lógica de evento. - App.xaml e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. App.xaml.cs: Responsável pela inicialização geral do aplicativo (temas, recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. compartilhados, etc.). - Platforms/*: Dentro dessa pasta, há subpastas para cada plataforma (Android, iOS, Windows), caso seja necessário adicionar código ou configurações
Gerenciando Secrets e Configs em Docker SwarmAprenda a proteger credenciais, chaves e tokens com Docker Swarm. Gerencie Secrets e Configs de forma segura, garantindo integridade dos dados críticos. específicas.
É uma forma de separar o que é comum (páginas, lógicas de negócios, serviços
Criando e Escalando Serviços no Docker SwarmDescubra como criar, gerenciar e escalar serviços no Docker Swarm, utilizando comandos simples para manter alta disponibilidade em seu cluster.) do que é nativo (permissões específicas, configurações
Gerenciando Secrets e Configs em Docker SwarmAprenda a proteger credenciais, chaves e tokens com Docker Swarm. Gerencie Secrets e Configs de forma segura, garantindo integridade dos dados críticos. de build para cada SO).
📱 Criando a interface e interagindo com o usuário🔗
Para criar a interface
📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas. no .NET MAUI, você usa principalmente o XAML (ou C#, se preferir). Um exemplo simples de layout em XAML poderia ser:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MeuApp.MainPage">
<VerticalStackLayout Padding="20">
<Label Text="Olá, mundo!"
FontSize="24"
HorizontalOptions="Center" />
<Button Text="Clique aqui"
HorizontalOptions="Center"
Clicked="OnButtonClicked" />
</VerticalStackLayout>
</ContentPage>
Já do lado do C#, no code-behind, você registraria o evento Clicked do botão:
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("Ação", "Botão clicado!", "OK");
}
}
Essa sintaxe é familiar para quem trabalha com WPF ou Xamarin.Forms, mas se estiver migrando de Java ou PHP, não se preocupe: as ideias de eventos e métodos
🧠 Métodos em C#: Como Criar Funções que Não São Só Enfeites!Otimize seu código em C# com métodos inteligentes. Aprenda práticas de reutilização, sobrecarga e escopo para melhorar a clareza e a eficiência. são fáceis de pegar na prática.
🔄 Code Sharing: A Mágica por Trás do MAUI🔗
O MAUI permite compartilhar até 90% do código entre plataformas. Use Partial Classes
🏗️ Classes vs. Structs: Quando Usar Cada Uma (e Não Quebrar a Cabeça)!Descubra como escolher entre classes e structs em C#. Aprenda sobre alocação de memória, passagem por valor e referência, e performance nesta explicação clara. para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! customizações específicas:
// Shared
public partial class DeviceService
{
public partial string GetPlatformName();
}
// Android
public partial class DeviceService
{
public partial string GetPlatformName() => "Android";
}
// iOS
public partial class DeviceService
{
public partial string GetPlatformName() => "iOS";
}
📱🌐 Plataformas Suportadas e Requisitos🔗
| Plataforma | Requisitos |
|---|---|
| Android | API 21+ |
| iOS | iOS 10+ |
| Windows | Windows 10+ |
| macOS | macOS 10.15+ |
| Tizen | TVs, wearables |
⚔️ MAUI vs Xamarin: Qual a Diferença?🔗
| Recurso | Xamarin.Forms | .NET MAUI |
|---|---|---|
| Projeto Único | ❌ | ✅ |
| Desempenho | Bom | Melhorado |
| Hot Reload | Limitado | ✅ |
| Suporte a .NET 8+ | ❌ | ✅ |
📱 Exemplo prático: aplicativo de tarefas em MAUI🔗
Imagine que você quer criar um app para anotar tarefas
Diferenças entre Threads, Tasks e Delegates em C#Aprenda as diferenças entre Threads, Tasks e Delegates em C#. Este tutorial prático ensina como otimizar a execução paralela e melhorar o desempenho. do dia a dia e gerenciá-las em diferentes dispositivos. Com MAUI:
1. Model
🎭 MVVM: Separe Regras de Negócio da Interface Graficamente!Descubra como o padrão MVVM separa a interface e a lógica de negócio, facilitando testes e manutenção, com exemplos e dicas práticas para seu projeto.: Crie uma classe simples “Tarefa” com propriedades
⚡ Propriedades: Get e Set com Elegância (e sem Campos Privados Bagunçados)!Aprenda como utilizar propriedades em C# para encapsular dados, validar informações e manter um código organizado, seguro e de fácil manutenção. como Título e Descrição.
2. View
🎭 MVVM: Separe Regras de Negócio da Interface Graficamente!Descubra como o padrão MVVM separa a interface e a lógica de negócio, facilitando testes e manutenção, com exemplos e dicas práticas para seu projeto.: Tenha uma tela principal que mostre uma lista de tarefas
Diferenças entre Threads, Tasks e Delegates em C#Aprenda as diferenças entre Threads, Tasks e Delegates em C#. Este tutorial prático ensina como otimizar a execução paralela e melhorar o desempenho. (ListView ou CollectionView).
3. Lógica: Ao adicionar ou remover uma tarefa, você atualiza a lista e, possivelmente, salva os dados localmente (via arquivos, bancos de dados
Conceitos fundamentais de NoSQL: bases para trabalhar com MongoDB em C#Descubra os fundamentos do NoSQL e aprenda como utilizar MongoDB com C# para desenvolver aplicações .NET escaláveis e modernas até 2025. locais ou mesmo sincronização com a nuvem).
Algo como:
public class Tarefa
{
public string Titulo { get; set; }
public string Descricao { get; set; }
}
// Em algum lugar da sua MainPage
private ObservableCollection<Tarefa> _tarefas = new ObservableCollection<Tarefa>();
public MainPage()
{
InitializeComponent();
MinhaListaView.ItemsSource = _tarefas;
}
private void AdicionarTarefa(string titulo, string descricao)
{
_tarefas.Add(new Tarefa { Titulo = titulo, Descricao = descricao });
}
Esse app funcionaria em Windows, Android, iOS ou macOS sem precisar criar projetos diferentes do zero. Depois, à medida que você for evoluindo, pode integrar notificações ou até sincronização com serviços
Criando e Escalando Serviços no Docker SwarmDescubra como criar, gerenciar e escalar serviços no Docker Swarm, utilizando comandos simples para manter alta disponibilidade em seu cluster. externos.
🚀 Publicando seu App em Diferentes Plataformas🔗
1. Clique com o botão direito no projeto
🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. > Publish > Create Profile.
2. Selecione Android App Bundle ou APK.
- Requer um certificado de desenvolvedor Apple.
🎯 Desafio Prático: App de Lista de Tarefas Multiplataforma🔗
Objetivo: Crie um app que permita adicionar
📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. e marcar tarefas, persistindo os dados localmente.
Passos:
1. Use CollectionView para exibir a lista
📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos..
2. Implemente um Entry para adicionar
📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. novas tarefas.
3. Use SQLite ou Preferences para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! salvar os dados.
// Exemplo de uso do Preferences:
Preferences.Set("tarefas", JsonConvert.SerializeObject(tarefas));
Dica: Use o padrão MVVM
🎭 MVVM: Separe Regras de Negócio da Interface Graficamente!Descubra como o padrão MVVM separa a interface e a lógica de negócio, facilitando testes e manutenção, com exemplos e dicas práticas para seu projeto. para separar lógica e interface
📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas.!
📝 Boas práticas e considerações finais🔗
- Arquitetura: Utilize padrões como MVVM (Model-View-ViewModel
🎭 MVVM: Separe Regras de Negócio da Interface Graficamente!Descubra como o padrão MVVM separa a interface e a lógica de negócio, facilitando testes e manutenção, com exemplos e dicas práticas para seu projeto.) para separar lógica de apresentação da lógica de negócio. - Performance
🔄 StringBuilder: Quando Concatenar Strings Vira um Pesadelo!Descubra como o StringBuilder otimiza a concatenação em C#, evitando desperdício de memória e melhorando a performance das aplicações. Veja exemplos práticos!: Sempre fique atento a otimizações de layout e uso de recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. nativos, testando em devices reais. - Personalização por plataforma: Quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. necessário, use a pasta “Platforms/” para ajustes específicos de cada SO. - Pacotes e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. bibliotecas: Há diversas bibliotecas prontas que ampliam os recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. do MAUI. Explore o NuGet e leia atentamente a documentação oficial.
MAUI é uma excelente opção para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! quem quer simplificar o desenvolvimento de aplicativos multiplataforma. Você economiza tempo, ganha consistência no design e ainda conta com o ecossistema completo do .NET, que já é maduro e bem estabelecido. Boa codificação!
Pronto! Agora você já sabe como criar
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. apps multiplataforma com .NET MAUI. 🚀
Dica Final: Explore a documentação oficial para recursos
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. avançados como Blazor Hybrid e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. Hot Reload.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- .NET Documentation: learn.microsoft.com/pt-br/dotnet/
- Awesome .NET: github.com/quozd/awesome-dotnet
- C# Language Specification: learn.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/
- GitHub: Microsoft/.NET: github.com/dotnet
- Microsoft Learn: C# e .NET: learn.microsoft.com/pt-br/dotnet/csharp/
há 11 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 10 months atrás
há 10 months atrás