Como começar a desenvolver em Java?

Como começar a desenvolver em Java?

Pouco após entrar na faculdade, começamos a mexer com Java nas aulas de lógica de programação. Até então, nunca tinha tido nenhum contato com a linguagem, apenas ouvido falar sobre. Depois de um mês vendo lógica vi que gostava da linguagem e queria me aprofundar quero me tornar um desenvolvedor Java, mas por onde começar?

Começando com a base

Apesar das linguagens de programação serem parecidas, todas elas têm suas peculiaridades, Java não é diferente. Por isso, comecei estudando o básico da linguagem, conhecendo as estruturas condicionais e de loops.

Além disso, estudar orientação a objetos e aprender conceitos como herança, polimorfismo e composição, ajudam bastante no dia a dia. Esses são os conceitos básicos. Mas como já foi dito, cada linguagem é única.

Logo, o próximo passo é conhecer as particularidades da linguagem. Aprender sobre como funcionam as String, as funcionalidades de entrada e saída de dados, as coleções, como listas, mapas e conjuntos, além de aprender sobre as novidades da linguagem é algo de muito valor, já que agrega muito no desenvolvimento.

Legal! Com isso temos uma forte base na linguagem Java, mas será que isso é suficiente para entrar no mercado? Em muitos casos sim, principalmente quando estamos procurando estágios. Porém, se estamos almejando um cargo como júnior, é interessante conhecer mais sobre outros locais do uso da linguagem.

Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Começando no mundo web

Hoje em dia, muitos serviços funcionam na internet. A web está em muitos lugares, por isso, conhecer esse mundo é importante para quem pensa em ingressar no mercado de trabalho. Logo, se vamos utilizar Java para a web, precisamos conhecer o que a linguagem nos oferece para tal.

E, no Java, a base para aplicações web é conhecida como Servlets. Entender o ciclo da web e como as Servlets trabalham com ele é um passo muito importante.

Praticamente tudo que funciona no mundo Java para web, roda em cima de uma Servlet. Utilizando apenas Servlets, já conseguimos escrever sistemas que podem ser acessados de um navegador, criar páginas dinâmicas além de muitas outras coisas.

Além da web, é muito comum que no dia a dia salvar informações como dados de usuários, informações de acesso, entre muitos outros. Portanto, precisamos de um banco de dados para armazenar as informações. Mas como podemos realizar a comunicação do banco de dados com o Java?

Se comunicando com um banco de dados

As Servlets são uma especificação. Isto é, elas definem um contrato de como uma aplicação que usa Java na web deve funcionar. De uma forma análoga as Servlets, temos uma especificação que é utilizada para realizar a comunicação com bancos de dados, a JPA.

Uma especificação é um contrato. Por isso, precisamos de alguma coisa que coloque o que está neste contrato em prática, ou seja, o implemente.

No caso da JPA, a implementação mais utilizadas é o Hibernate. Logo, estudar Hibernate como a implementação da JPA é algo muito valioso para quem quer entrar no mercado. Essas tecnologias são, praticamente, o padrão que a indústria usa no dia a dia quando falamos do mundo Java.

Geralmente, um dos maiores gargalos de uma aplicação é na comunicação como banco de dados.

Logo, conhecer bem o Hibernate e a JPA para realizar otimizações é algo bem valioso, principalmente, quando pensamos em performance da aplicação. Bacana! Já conhecemos Hibernate, Servlets, sabemos muitas coisas sobre a linguagem Java.

Conseguimos escrever aplicações bem legais já com essas tecnologias, mas precisa ser tão trabalhoso? Quando trabalhamos com Servlets puras, realmente é um pouco trabalhoso criar e manter a aplicação.

Claro que pode acontecer de encontrarmos aplicações assim no dia a dia, as chamadas aplicações legado. Mas, no dia a dia, não costumamos trabalhar com Servlets puras.

Utilizamos algo que se comunica com a Servlet, dessa forma, não precisamos trabalhar diretamente com o código da Servlet, mas ainda utilizamos de seu poder. Mas como podemos trabalhar com Servlets, sem escrever Servlets?

Conhecendo o Spring Framework

Escrever código de Servlets é algo comum a muitas aplicações. E, como é algo trabalhoso, foi criada ferramentas para melhorar esse processo. Uma dessas ferramentas é o Spring. Um conjunto de códigos e projetos, que chamamos de framework, que nos auxiliam no dia a dia do desenvolvimento.

O Spring é um framework muito robusto e utilizado por grandes empresas e tecnologia, como a Netflix. Com ele, conseguimos agilizar muito no processo de escrita e códigos Java. Vimos que para desenvolver em Java, seguimos um passo a passo, mas quando estudamos, as vezes, sentimos falta da prática. Por isso, aqui na Alura, pensamos em criar as formações.

Conhecendo a Formação Java

Uma formação nada mais é do que uma trilha de cursos onde podemos nos tornar proficiente em uma tecnologia. No caso, criamos a Formação Java. Nela, você começará desde o básico com Java.

Conhecendo a linguagem, conhecendo a orientação a objetos, as APIs mais comuns, além de começar com o mundo web, passando por Servlets e Spring, e no mundo de persistência de dados com JPA e Hibernate.

A formação não é formada apenas por cursos, mas sim por diversos outros conteúdos, como podcasts, posts e lives.

Cada conteúdo tem uma parte no aprendizado e eles vão se complementando e integrando conforme avançamos na formação. Ao final da formação, você realizará um projeto.

Isto é, irá colocar em prática tudo que aprendeu nos cursos que estudou. Esse projeto será revisado por um instrutor ou instrutora aqui da Alura que te passará um feedback sobre o código que escreveu.

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre Programação