Kit de Desenvolvimento Java (JDK)
Instale a última versão Long-Term Support (LTS) do JDK.
O OpenJDK é a implementação de referência e de código aberto e geralmente está disponível nos repositórios de pacotes das principais distribuições Linux. No site https://whichjdk.com é apresentada uma discussão sobre as principais implementações do JDK disponíveis, indicando qual seria a implementação e versão do JDK recomendada.
- No Ubuntu Linux
- Caso tenha uma versão antiga do JDK instalada e queira remover
sudo apt-get purge openjdk*
- Para instalar o JDK 17
sudo apt-get install openjdk-17-jdk
- Caso tenha uma versão antiga do JDK instalada e queira remover
- No macOS
- Opte por instalar por meio do SDKMan
curl -s "https://get.sdkman.io" | bash
- Para instalar o JDK 17
sdk install 17.0.8.1-tem
- Opte por instalar por meio do SDKMan
Ferramenta de automatização de projetos
O Gradle é uma ferramenta de automatização para construção de projetos. Apesar de ser possível instalar o gradle pelos gerenciadores de pacotes das principais distribuições Linux, essa não é uma opção recomendada, uma vez que costumam manter versões defasadas. Sendo assim a recomendação para Linux ou macOS é instalar o gradle por meio do SDKMan.
sdk install gradle 8.4
Ambiente Integrado de Desenvolvimento
O Ambiente Integrado de Desenvolvimento (Integrated Development Environment - IDE) consiste basicamente de um editor com um conjunto de ferramentas de apoio que facilitam e agilizam o desenvolvimento de software. Para o desenvolvimento Java recomendo as seguintes:
IntelliJ IDEA
A maneira mais simples de ter um ambiente completo para desenvolvimento Java, uma vez que o instalador da IDE traz também o JDK e o gradle.
Existem duas versões, sendo a Ultimate uma versão paga e a Community uma versão gratuita e open source.
A versão Community é suficiente para essa disciplina, porém alunos do Instituto Federal de Santa Catarina podem requisitar gratuitamente uma licença de estudante e poderão usar todos os produtos da Jetbrains enquanto forem alunos do IFSC.
Visual Studio Code
Trata-se de um editor de propósito geral que possui um grande número de extensões que o tornam como uma ótima ferramenta para o desenvolvimento com as mais diversas linguagens de programação. Para usá-lo nesta disciplina será que necessário que tenha do JDK e o gradle instalado em sua máquina, além das seguintes extensões:
As extensões abaixo não são obrigatórias para o desenvolvimento com Java, mas torna mais agradável a IDE
Modelagem UML
A linguagem de modelagem unificada (Unified Modeling Language - UML) é considerada como linguagem padrão para modelagem de projetos de software. Existem diversas ferramentas disponíveis para modelar com UML, sendo que as mais simples só permitem a criação de diagramas isolados, nem mesmo verificando a sintaxe da notação UML, e as mais completas que permitem que um mesmo artefato esteja referenciado nos diferentes diagramas da UML.
StarUML
O StarUML é um software proprietário que possui versões para Linux, macOS e Windows. É possível usar todas as funcionalidades, com o intuito de avaliação da ferramenta, sem a necessidade de adquirir licença.
Essa ferramenta não está disponível nos laboratórios do campus, mas caso queira utilizá-la, siga os passos:
- Baixe o instalador para Linux (arquivo
.deb
) - Descompacte o
.deb
dpkg -x StarUML_6.0.1_amd64.deb staruml
- Execute o StarUML
./staruml/opt/StarUML/staruml --no-sandbox
Diagrams.net
O Diagrams.NET é uma ferramenta web de propósito geral para criar diagramas. Possui uma paleta com componentes para diagramas UML.
Mermaid
O Mermaid é uma ferramenta de diagramação desenvolvida em JavaScript, permite criar diagramas por meio de uma linguagem textual e embarcá-los diretamente em arquivos Markdown.
No Visual Studio Code é necessário instalar a extensão Markdown Preview Mermaid Support para que consiga renderizar os diagramas.
O GitHub renderiza os diagramas Mermaid em seus arquivos Markdown. Basta incluir o trecho de código e marcar com mermaid
. Por exemplo:
```mermaid
classDiagram
direction LR
class Aluno{
-String nome
-LocalDate dataDeNascimento
-Matricula matricula
+obterIdade() int
+alterDataDeNascimento(data) boolean
}
class Matricula{
-int numero
-int digitoVerificador
}
Aluno *-- Matricula
``` .