O Que Fazer Depois de Aprender Java e JavaScript? - Do Back ao Front-end. Uma Visão Sobre React e Spring Boot na Jornada Dev
- #JavaScript
- #Java
Fala, Dev. Depois de ter a experiência de estudar Java e JavaScript, começaram a surgir algumas perguntas:
1. O que aprender depois?
2. Quais os possíveis caminhos?
Hoje, trago duas visões. Comecei meus planos para montar minha stack front-end (html, css, javascript). Depois, comecei a conhecer mais do back-end (Java, MySQL).
No front-end, vi que o JavaScript é utilizado para consumo de API, algo que é muito solicitado nas vagas de emprego. É provável que você já tenha visto alguma vaga que requisita consumo de api, ou integração com api.
Para quem não sabe, consumo de API é quando o front-end faz requisições web, via http, para o back-end, envolvendo o tema de programação assíncrona.
Já programação assíncrona, nada mais é do que você executar um trecho de código enquanto espera a resposta de outro trecho de código, no qual, você não sabe quanto tempo vai demorar para executar.
Para visualizar esse cenário é só pensar no exemplo: Imagine que você acessa o site dos correios para rastrear se a sua encomenda está a caminho. O que você faz? Acessa o site e digita o código de rastreio do produto.
Quando você clica no botão, para pesquisar o seu produto, a requisição http é feita, do front-end, utilizando programação assíncrona, ou seja, o código JavaScript faz uma requisição do tipo GET e enquanto fica esperando a resposta do banco de dados dos correrios, a resposta da API, ele renderiza a página, criando a estrutura do site, que vai conter a resposta dessa requisição, que nada mais é do que o local por onde seu produto já passou, e onde está atualmente, caso a API encontre seu código de rastreio. Legal né?!
Essa ideia me fez querer aprender mais sobre programação assíncrona em JavaScript, e a entender melhor sobre consumo de API, inspeção de código, entender mais sobre redes e os métodos das requisições http, tal como, GET, POST, DELETE, UPDATE, e a me adaptar a criar tais requisições com o JavaScript.
Depois disso, comecei a estudar mais sobre a biblioteca React, que vi como tem boa saída no mercado de trabalho. Então, aprendi a criar componentes, rotas, estilizar tais componentes, e realizar as requisições http com React.
Deixo alguns vídeos no final deste artigo, para que conheça como é o processo de consumo de API, assim como, as requisições http com JavaScript.
Após esse jornada e experiência, percebi que consumir API é legal, mas queria algo a mais, tal como, criar minha própria API para ser consumida. Então, conheci o Json server, que é legal, para aprendizado. Mas, é limitado.
Depois de participar do bootcamp back-end da Orange Tech+, conheci o Spring Boot, que é um framework para criação de API Rest Full com Java. Entretanto, a curva de aprendizado foi maior do que pensei, mas gostei do que vi.
Spring Boot da a possibilidade de criar projetos com o gerenciador de pacotes, Maven. Assim, você não precisa se estressar, ou perder tempo, procurando as dependências, para seu projeto back-end, pois, um dos conceitos do Spring Boot, é fazer o programador se preocupar mais com a lógica de negócio, do que com tarefas rotineiras de criação de projeto.
Logo, você consegue adicionar as dependências do projeto, bem semelhante ao uso do Node.js, com a diferença que você só precisa editar o arquivo pom.xml, adicionar algumas tags que já existem prontas, no gerenciador de dependências web do maven. Assim, você copia o código da dependência, cola no arquivo pom.xml, e a IDE já começa a baixar as dependências, logo, você foca na lógica do projeto.
Essa lógica que falo é a de construir a API, ou seja, criar as tabelas do banco de dados, criar o servidor web, para ficar escutando as requisições http que vem do front-end, tal como o TomCat, e o que fará após cada requisitação.
Logo, o back-end fica esperando uma ação do front-end, tal como, um requisição http, feita com JavaScript. Se a requisição for um GET, o Spring Boot entenderá que o front-end está requisitando dados, e então, o Java pesquisa esses dados no banco e manda de volta, no formato de um arquivo json, tal que, o JavaScript o lê, e pode transformá-lo em um objeto, e depois, ir renderizando as informações na página que está no computador do cliente.
Uffa... muito coisa né?! Mas, seria legal fazer uma aplicação completa, que envolvesse tudo isso, não é mesmo?!
Então, o que eu fiz? Aprendi mais sobre JavaScript com React, tal como, React Router Dom, para criar rotas que fossem facilmente renderizadas, aprendi mais sobre Json Server, para testar mais a parte de consumo de API, com programação assíncrona, envolvendo os comandos asyn, await, fetch.
Assim, antes disso, aprendi mais sobre componetizar, hooks, rendizaração de página, listar conteúdos com map e mais algumas coisas de JavaScript com React. Agora, que já sei fazer isso, e tenho uma base de html, css... posso pensar na criação da API com a mente mais tranquila.
Como já aprendi um pouco de Spring Boot, sei o que ele faz, fica mais fácil me dedicar aos estudos desta tecnologia. Mas, não é a única opção. Caso queira trabalhar com Node.js, e ficar só no JavaScript, no back-end e no front-end, o que não é má ideia, temos o express.js que é um framework para criar rotas com suporte a banco de dados.
Além de poder também, utilizar o sequeliza, como ORM, para gerenciar o banco de dados. É uma boa opção, para criar projetos pessoais, estudos e mais. A nível de vagas, o que vejo mais é Spring Boot com Java e MySQL para back-end e no front-end, vejo o termo Nest.js e Vue.js no Front-end, além de React e Angular. Mas, não vou aprofundar neste tema, por hora.
A ideia que quero passar é? Você quer ser especificamente Front-end ou Back-end? Essa resposta te fará seguir uma trilha diferente para ambas. Entretanto, se a resposta for: Ambas... isso indica que assim como estou fazendo, você também tem planos de se tornar Full Stack Júnior, para começo de carreira.
Logo, é bom algo que facilite a jornada, ou una das duas possibilidades, tal como, citei acima. Pense nisso, que vai te economizar tempo. Como prometido, deixo as minhas playlists abaixo, de back-end Java, front-end JavaScript e a que estou criando de Rect com Consumo de API.
Playlist Java para Iniciantes: https://www.youtube.com/playlist?list=PLf-aKpXauSaZnZ6FKXJekDzi67XrN3__t
Playlist JavaScript para Iniciantes: https://www.youtube.com/playlist?list=PLf-aKpXauSaZVETUNFk1sG7tjFcwPnULr
Playlist React com Consumo de API: https://www.youtube.com/playlist?list=PLf-aKpXauSabnLEDIYEY9-qTXU_kH5IRb
Espero que goste das dicas, das playlist e se quiser se conectar comigo, segue também meu LinkedIn: https://www.linkedin.com/in/olivalpaulino/