Ferramentas para desenvolvimento

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

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:

  1. Baixe o instalador para Linux (arquivo .deb)
  2. Descompacte o .deb
    dpkg -x StarUML_6.0.1_amd64.deb staruml
    
  3. 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:

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