Olá, Gabriel! Tudo bem?
O primeiro passo você já fez que é o de questionar!
Busque primeiro estudar sobre a área para entender se é mesmo o que você deseja seguir/estudar, veja se é o que combina com seu perfil, faça perguntas a sí mesmo entre as quais... gosto de trabalhar com computador? me sinto bem trabalhando/estudando sentado por muitas horas seguidas? O que faz um programador? Quais níveis de cargo posso atingir? entre outras.
Se você passar dessa fase e ainda assim deseja estudar desenvolvimento, busque começar pelo básico e ir avançando aos poucos. No começo muita coisa pode parecer obscura e difícil, mas tudo vai ir clareando e fazendo sentido com o tempo. Comece por lógica de programação antes de ir de fato para um framework para web/mobile/etc.
Sobre a web, um breve resumo é que tudo se comunica em chamadas cliente/servidor. Ou seja, se um browser ou smartphone está conectado, ele pode fazer requisições para solicitar ou enviar dados a serem processados pelo servidor. E o papel do desenvolvedor web é fazer essa mágica acontecer. Desenvolver o front-end que é o lado bonitinho que o usuário vai ver e interagir, ou seja, as telas. O back-end que é o processamento do lado servidor, para armazenar dados, comunicar com sistemas de terceiros, etc.
Se permita errar, mas não deixe de tentar. Faça projetos simples no começo, calculadoras, sites estáticos e etc... Valorize suas vitórias e cada avanço conquistado.
Caso ainda não esteja em um curso técnico/tecnólogo de programação avalie a entrada em um, é bem positivo aliar a prática a matérias teóricas mais abrangentes que vai encontrar na faculdade.
Aqui no Profes você pode solicitar aulas particulares para auxiliar e maximizar ainda mais seus resultados.
Desde já desejo boa sorte na caminhada!
Abraço
Boa tarde!
Primeiro se atente de que jogos, controle de estoque, e-comercce, etc., são sistemas e o que eles tem em comum?
Todos tem uma interface para manipular dados, objetos, cenas, etc. E para que isso aconteça, por tras há programação que pode ser cliente servidor ou off-line......
O desenvolvimento web tem muitas definições, porem você pode levar em consideração duas: Front-End e Back-End, as quais lhe daram um rumo. Em geral o desenvolvimento web é do tipo cliente servidor, ou seja, os dados sempre estão no lado servidor, eis a expressão ONLINE, entendeu?
O Front-End em geral desenvolve as interfaces dos sistemas para que os usuarios tenham acesso as funcionalidades dos mesmos. Para isso basta ter conhecimento em HTML, CSS e JQuery. Se preferir e é muito importante, ter dominio em um editor de imagem, como o photoshop.
O Back-End é responsavel pela programação a qual manipula os dados. Para essa área é essencial o conhecimento de uma linguagem de programação dinamica, como o PHP. Se preferir é importante ter conhecimento basico em servidores web.
Quanto a área gerenciavel, temos o WebMaster, que além de dominar o Front-End e o Back-End, adminstra os servidores DNS, HOSPEDAGEM, REDES, etc.
Se tiver mais dúvidas, estou por aqui.
Abraço.
Se você está começando agora no **desenvolvimento web**, há um caminho claro que você pode seguir para aprender de maneira estruturada e eficaz. O desenvolvimento web pode ser dividido em duas partes principais: o **front-end** (interface do usuário) e o **back-end** (servidor, lógica de negócios e banco de dados). Vamos explorar cada parte, além de algumas etapas iniciais para você começar sua jornada.
### 1. **Entenda o Básico: Conceitos Fundamentais da Web**
Antes de começar a codificar, é importante entender como a web funciona. Aqui estão alguns conceitos fundamentais que você deve aprender:
- **Como a web funciona**: Como os navegadores se comunicam com os servidores através de HTTP/HTTPS, o que são **requisições** e **respostas**.
- **Protocolos e DNS**: O que são protocolos como **HTTP/HTTPS**, **TCP/IP**, e como o **DNS** resolve endereços de sites.
- **O que é um servidor e um cliente**: O que acontece quando você acessa um site e como as informações fluem entre o cliente (navegador) e o servidor.
### 2. **Comece com o Front-End**
O **front-end** é tudo o que os usuários veem e interagem diretamente no navegador. O desenvolvimento front-end envolve principalmente três tecnologias principais:
#### **a. HTML (HyperText Markup Language)**
O HTML é a base de qualquer página web. Ele descreve a estrutura do conteúdo na página, como cabeçalhos, parágrafos, imagens, links e formulários.
- **O que aprender em HTML**:
- Estrutura básica de uma página HTML (`<html>`, `<head>`, `<body>`)
- Elementos de formatação: listas, tabelas, links, imagens, etc.
- Formulários e inputs de usuário
- Atributos e tags semânticas (ex: `<article>`, `<section>`, `<nav>`)
- **Recursos**:
- [Documentação oficial HTML](https://developer.mozilla.org/pt-BR/docs/Web/HTML)
- [FreeCodeCamp - HTML Básico](https://www.freecodecamp.org/learn/responsive-web-design/basic-html-and-html5/)
#### **b. CSS (Cascading Style Sheets)**
CSS é usado para estilizar as páginas web. Com o CSS, você pode controlar a aparência das páginas HTML: cores, fontes, tamanhos, layouts, e mais.
- **O que aprender em CSS**:
- Seletores e propriedades
- Layouts com `flexbox` e `grid`
- Cores, fontes e tipografia
- Responsividade (adaptar o site para diferentes dispositivos)
- Animações e transições
- **Recursos**:
- [Documentação oficial CSS](https://developer.mozilla.org/pt-BR/docs/Web/CSS)
- [Curso de CSS - FreeCodeCamp](https://www.freecodecamp.org/learn/responsive-web-design/basic-css/)
- [CSS-Tricks](https://css-tricks.com/)
#### **c. JavaScript (JS)**
JavaScript é uma linguagem de programação que torna as páginas web interativas. Com JS, você pode fazer coisas como validar formulários, criar animações e até mesmo manipular os dados que são exibidos na tela.
- **O que aprender em JavaScript**:
- Sintaxe básica (variáveis, operadores, loops, etc.)
- Funções, objetos, arrays
- Manipulação do DOM (Document Object Model)
- Eventos (ex: clicar em botões, enviar formulários)
- Async/await e promessas para lidar com chamadas assíncronas (como requisições HTTP)
- **Recursos**:
- [Documentação oficial JavaScript](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript)
- [JavaScript - FreeCodeCamp](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/)
### 3. **Aprenda Frameworks Front-End**
Depois de entender o básico de HTML, CSS e JavaScript, você pode começar a explorar frameworks e bibliotecas que facilitam a criação de interfaces de usuário mais complexas e dinâmicas.
- **React**: Um dos frameworks mais populares para construir interfaces interativas. Ele utiliza um conceito chamado **Componentes** para tornar o desenvolvimento mais modular.
- **Vue**: Um framework progressivo que é fácil de aprender e utilizar, muito utilizado em projetos menores e médios.
- **Angular**: Um framework robusto, desenvolvido pelo Google, usado em projetos de grande escala.
- **Recursos**:
- [Documentação React](https://reactjs.org/docs/getting-started.html)
- [Documentação Vue](https://vuejs.org/guide/introduction.html)
- [Documentação Angular](https://angular.io/docs)
### 4. **Comece com o Back-End**
O **back-end** é responsável pela lógica do servidor, pela manipulação de dados e pela comunicação com o banco de dados. Ele processa as informações e envia respostas para o front-end. O back-end é tipicamente desenvolvido em linguagens como **PHP**, **Node.js**, **Python**, **Ruby**, entre outras.
#### **a. Laravel (PHP)**
Já que você mencionou que está usando **Laravel 8**, é importante entender como ele facilita o desenvolvimento back-end com PHP. O Laravel é um framework que oferece muitas ferramentas prontas, como controle de rotas, autenticação, e acesso ao banco de dados, o que facilita a criação de APIs e sistemas web complexos.
- **O que aprender em Laravel**:
- Instalar o Laravel e configurar um ambiente local (com Laravel Homestead ou Valet)
- Rotas e controle de requisições HTTP
- Controllers, Views e Models
- Eloquent ORM para manipulação de banco de dados
- Validação de formulários e segurança
- Autenticação e autorização de usuários
- **Recursos**:
- [Documentação Oficial do Laravel](https://laravel.com/docs)
- [Laracasts - Laravel Essentials](https://laracasts.com/)
#### **b. Banco de Dados e SQL**
O back-end também envolve o uso de bancos de dados para armazenar e recuperar dados. O MySQL é uma das opções mais populares. Você deve aprender SQL (Structured Query Language), que é usada para interagir com o banco de dados.
- **O que aprender em SQL**:
- Comandos básicos como `SELECT`, `INSERT`, `UPDATE`, `DELETE`
- Como criar e manipular tabelas e índices
- Relacionamentos entre tabelas (joins, foreign keys)
- Funções agregadas (ex: `COUNT`, `SUM`)
- Otimização de consultas
- **Recursos**:
- [W3Schools - SQL Tutorial](https://www.w3schools.com/sql/)
- [SQL for Web Developers (FreeCodeCamp)](https://www.freecodecamp.org/learn/)
### 5. **Hospedagem e Deployment**
Depois de aprender a criar um site ou aplicação web, você precisará aprender como colocar seu projeto online. Isso envolve entender como **hospedar** e **fazer o deploy** de suas aplicações.
- **O que aprender sobre deploy**:
- Configuração de servidores (VPS, AWS, DigitalOcean)
- Hospedagem de bancos de dados
- Deploy de código em plataformas como **Heroku**, **Netlify**, **Vercel** ou **DigitalOcean**
- **Recursos**:
- [Deploying Laravel with Forge](https://forge.laravel.com/)
- [Deploying a Laravel Application (DigitalOcean)](https://www.digitalocean.com/community/tutorials)
### 6. **Pratique Muito!**
O aprendizado de programação e desenvolvimento web é **muito prático**. Quanto mais você praticar, mais rápido aprenderá. Aqui estão algumas maneiras de melhorar sua habilidade:
- **Projetos práticos**: Crie projetos do zero, como portfólios, blogs, sistemas de gerenciamento de tarefas, etc.
- **Contribua com código aberto**: Participe de projetos open-source no GitHub.
- **Desafios de código**: Participe de plataformas como **Codewars** ou **LeetCode** para melhorar suas habilidades de resolução de problemas.
### 7. **Continue Aprendendo**
O desenvolvimento web está em constante evolução. Acompanhe as últimas novidades e melhores práticas:
- **Blogs e Comunidades**: Acompanhe blogs como **CSS-Tricks**, **Smashing Magazine** e **A List Apart**. Participe de comunidades como **Stack Overflow**, **Reddit** e **Dev.to**.
- **Cursos e Tutoriais**: Plataformas como **Udemy**, **Coursera**, **Codecademy** e **freeCodeCamp** oferecem cursos de qualidade.
### Resumo
- Comece com HTML, CSS e JavaScript para front-end.
- Explore frameworks modernos como **React**, **Vue** ou **Angular**.
- Aprenda **PHP e Laravel** para o back-end.
- Domine **SQL** e bancos de dados como MySQL.
- **Pratique** com projetos reais.
- **Implante** seus projetos online para ganhar experiência prática.
Com esse caminho, você estará bem preparado para começar sua jornada como desenvolvedor web!