marcoquadros
06-10-2024, 11:36 AM
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:
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 (https://perfectzone.com.br/showthread.php?t=1303&p=4116&viewfull=1#post4116)
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) (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4117&viewfull=1#post4117)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4118&viewfull=1#post4118)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4119&viewfull=1#post4119)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4120&viewfull=1#post4120)
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!
Inicio - 16/04/2024 - 08:00
Última Atualização: 17/04/2024 às 14:00 - Finalização da Parte Teórica até o Item 09
Laucher Design
https://lh3.googleusercontent.com/u/0/drive-viewer/AKGpihaI2kgXRE_PhDFjdvCXBV41I-WhfF8SnwpAKbu40pAFbmLa16EjYo8L5MbjSyjQkhynM8qmO1oi WL3DBiaDipGv_LcyXZRrXNQ=w2560-h911-rw-v1
https://imgur.com/a/qiogMzC
**Hidden Content: Check the thread to see hidden data.**
Creditos:
Marco Quadros: Desenvolvimento
@JanoDesign (https://perfectzone.com.br/member.php?u=3697): Design do Laucher
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:
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 (https://perfectzone.com.br/showthread.php?t=1303&p=4116&viewfull=1#post4116)
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) (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4117&viewfull=1#post4117)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4118&viewfull=1#post4118)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4119&viewfull=1#post4119)
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 (https://perfectzone.com.br/showthread.php?t=1303&page=2&p=4120&viewfull=1#post4120)
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!
Inicio - 16/04/2024 - 08:00
Última Atualização: 17/04/2024 às 14:00 - Finalização da Parte Teórica até o Item 09
Laucher Design
https://lh3.googleusercontent.com/u/0/drive-viewer/AKGpihaI2kgXRE_PhDFjdvCXBV41I-WhfF8SnwpAKbu40pAFbmLa16EjYo8L5MbjSyjQkhynM8qmO1oi WL3DBiaDipGv_LcyXZRrXNQ=w2560-h911-rw-v1
https://imgur.com/a/qiogMzC
**Hidden Content: Check the thread to see hidden data.**
Creditos:
Marco Quadros: Desenvolvimento
@JanoDesign (https://perfectzone.com.br/member.php?u=3697): Design do Laucher