Olá, pessoal!
Meu nome é Marco e sou arquiteto de software, ao longo dos anos, aprendi muito com a comunidade de MuOnline e desenvolvedores, especialmente sobre programação,
produtividade, empreendedorismo e obviamente sobre MuOnline, minha area de atuação profissional é relacionada a desenvolvimento de softwares embarcados, utilizando C++.
Espero que com esse tutorial, tambem consiga aprender mais sobre o desenvolvimento para esse nosso jogo que marcou minha infância, e foi um dos motivos a querem aprender programação,
o que me fez chegar aonde estou hoje.
Agora, sinto que chegou a minha vez de retribuir e contribuir com o conhecimento que adquiri.
Neste tutorial, vamos explorar juntos o desenvolvimento de um launcher para MuOnline utilizando C++ moderno e boas práticas de programação.Vamos abordar desde a configuração
do ambiente de desenvolvimento até a distribuição do produto final.
Meu objetivo é apresentar pelo menos um tópico por dia, podendo ser em formato de texto ou vídeo. Espero que este material seja útil e que possamos aprender e crescer juntos.
A seguir, está o sumário do tutorial:
Atenção
Devido à limitação de tamanho do post, continuarei escrevendo o conteúdo como respostas subsequentes e fornecerei links para as postagens que contêm o conteúdo completo. A partir do índice 5. Funções e Procedimentos, o material será apresentado dessa forma.
- Introdução
- Objetivo do Tutorial
- Estrutura do Tutorial
- Configuração do Ambiente de Desenvolvimento
- Escolhendo o IDE: Visual Studio 2022
- Instalando Ferramentas Necessárias (SDK, Bibliotecas)
- Configuração do Projeto no Visual Studio
- Estrutura de Pastas do Projeto
- Fundamentos da Programação em C++
- Introdução à Linguagem C++
- Tipos de Dados
- Variáveis e Constantes
- Operadores
- Estruturas de Controle (if, else, switch)
- Laços de Repetição (for, while, do-while)
- Boas Práticas de Programação e Clean Code
- Estruturas de Dados
- Arrays e Strings
- Vetores (std::vector)
- Listas (std::list)
- Mapas (std::map)
- Conjuntos (std::set)
- Utilização de Smart Pointers
- Funções e Procedimentos
- Declaração e Definição de Funções
- Parâmetros e Retorno de Funções
- Funções Recursivas
- Funções Lambda
- Programação Orientada a Objetos (POO)
- Conceitos Básicos (Classes e Objetos)
- Encapsulamento
- Herança
- Polimorfismo
- Interfaces e Classes Abstratas
- Boas Práticas em POO e Clean Code
- Manipulação de Arquivos
- Leitura e Escrita de Arquivos
- Manipulação de Arquivos Binários e de Texto
- Serialização e Desserialização
- Boas Práticas de Manipulação de Arquivos
- Desenvolvimento de Interfaces Gráficas
- Introdução à Win32 API
- Criação de Janelas e Diálogos
- Manipulação de Controles (Botões, TextBoxes, etc.)
- Gerenciamento de Eventos
- Boas Práticas em Desenvolvimento de UI
- Controle de Versão com GitHub
- Introdução ao Git e GitHub
- Configuração do Repositório
- Fluxo de Trabalho com Git (commit, push, pull, branch)
- Boas Práticas em Controle de Versão
- Introdução ao Projeto Launcher para MuOnline
- Visão Geral do Launcher
- Requisitos Funcionais e Não-Funcionais
- Estrutura de Diretórios do Projeto
- Planejamento e Design do Código
- Desenvolvimento do Launcher
- Tela de Login e Registro
- Verificação e Atualização de Arquivos do Cliente
- Comunicação com o Servidor
- Sistema de Patch e Atualizações
- Boas Práticas em Desenvolvimento de Aplicações
- Testes e Debugging
- Técnicas de Debugging no Visual Studio
- Criação de Testes Unitários
- Ferramentas de Teste e Automação
- Boas Práticas em Testes e Debugging
- Empacotamento e Distribuição
- Compilação e Linkagem
- Criação do Instalador
- Distribuição e Atualizações do Launcher
- Boas Práticas de Distribuição
- Conclusão
- Resumo dos Conceitos Aprendidos
- Próximos Passos
- Recursos Adicionais e Comunidades de Apoio
Espero que aproveitem e que este tutorial seja uma excelente ferramenta de aprendizado para todos. Vamos juntos criar algo incrível!
Ao longo dos dias, estarei atualizando cada seção do tutorial. Não vou direto ao ponto na criação do launcher em si,
pois meu objetivo é que você realmente aprenda e compreenda cada etapa do desenvolvimento,
em vez de apenas copiar e colar o código. Quero que você se torne um desenvolvedor mais habilidoso e confiante, capaz de aplicar esses conhecimentos em outros projetos.
Fiquem atentos às atualizações diárias e participem ativamente com comentários e perguntas. Vamos aprender e crescer juntos!
Dica
Inicio - 16/04/2024 - 08:00
Dica
Última Atualização: 17/04/2024 às 14:00 - Finalização da Parte Teórica até o Item 09
Creditos:
Marco Quadros: Desenvolvimento
@JanoDesign: Design do Laucher