Ferramentas para desenvolvimento

Kit de Desenvolvimento Java (JDK)

Instale a última versão Long-Term Support (LTS) do JDK.

O Adoptium Working Group é um grupo de trabalho que visa fornecer binários de alta qualidade e de código aberto do OpenJDK. O Temurim é uma das implementações do OpenJDK que é mantida por esse grupo.

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 21 LTS
      sudo apt-get install openjdk-21-jdk
      
    • Pode também instalar o JDK 21 LTS por meio do SDKMan
      curl -s "https://get.sdkman.io" | bash 
      
      sdk install java 21.0.2-tem
      
  • No macOS
    • Opte por instalar por meio do SDKMan
      curl -s "https://get.sdkman.io" | bash 
      
    • Para instalar o Adoptium Eclipse Temurin JDK 21 LTS por meio do SDKMan
      sdk install java 21.0.2-tem
      

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.7

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:

  1. Baixe o instalador para Linux (arquivo .deb)
  2. Descompacte o .deb
    dpkg -x StarUML_6.1.0_amd64.deb staruml
    
  3. Execute o StarUML
    ./staruml/opt/StarUML/staruml --no-sandbox
    

Draw.io

O Draw.io é 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. O GitHub renderiza os diagramas Mermaid em seus arquivos Markdown.

  • No Visual Studio Code é necessário instalar a extensão Markdown Preview Mermaid Support para que consiga renderizar os diagramas em arquivos .md.
  • No IntelliJ IDEA é necessário instalar o plugin Mermaid. Os diagramas podem ser salvos em arquivos .mmd ou .mermaid e renderizados no preview do IntelliJ IDEA. Com o plugin Markdown (instalado por padrão), os diagramas podem ser renderizados em arquivos .md.

Abaixo um exemplo de um diagrama de classes em Mermaid, que pode ser inserido em arquivos Markdown. Logo após o código, o diagrama renderizado.

```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
```
classDiagram direction LR class Aluno{ -String nome -LocalDate dataDeNascimento -Matricula matricula +obterIdade() int +alterDataDeNascimento(data) boolean } class Matricula{ -int numero -int digitoVerificador } Aluno *-- Matricula
Próximo