As três distribuições do Java são: SE, EE, ME (tem tb o JAVAFX). Em todos os lugares que já vi o pessoal não baixa a versão em si, apenas o JDK.
O JDK já vem com todas estas versões? Ou apenas a SE e, se eu quiser usar EE ou ME, devo instala-las como se fossem plugins?
JDK é a abreviatura de Java Development Kit, é o que você precisa para programar em Java.
O Java Standard Edition fornece as funcionalidades básicas do Java, com ele você pode implementar as lógicas de negócio e usar os conceitos de programação orientada a objetos, conectar à um banco de dados e até desenvolver telas para aplicações desktop.
O Java Enterprise Edition é baseado no Java Standard Edition mas possui bem mais API’s, mas basicamente você usa o mesmo JDK com algumas dependências a mais nos seus projetos. Geralmente você usa para aplicações grandes ou aplicações Web que ficam hospedadas em servidores. Então você pode usar praticamente tudo que o Standard Edition oferece mais outras tecnologias.
Java Micro Edition é um subconjunto do Java oferece algumas funcionalidades do Java Standard Edition, ele é focado para dispositivos móveis, algumas impressoras, TVs, pocket PCs.
Geralmente são aplicações que rodam em ambientes com pouca memória e são bastante limitadas.
Hoje em dia acho raro encontrar algo desenvolvido em J2ME.
Trabalhei bastante com ele de 2002 à 2007, antes do Android se tornar popular e antes dos smartphones terem preço acessível.
Para o J2ME você precisava baixar SDKs específicos para a plataforma a qual desejava desenvolver.
Já o Java EE, se você utiliza alguma IDE, geralmente já tem plugins prontos para criar projetos Java EE, que basicamente vão usar o seu JDK e incluir as dependências necessárias para um projeto Web.
4 curtidas
Para complementar, no caso de projetos web com JavaEE, é normal os servidores de aplicação (como JBoss, por exemplo) já fornecer as implementações do JavaEE para seu projeto usar, fazendo com que vc não precise adicionar nenhuma lib JavaEE diretamente no projeto.
3 curtidas
Ah sim, acho que entendi. Então quer dizer que o JDK por padrão já vem com o SE integrado? Pergunto pois, vejo o pessoal desenvolver aplicações comuns apenas baixando o JDK.
Todas estas versões que eu citei são basicamente lib?
Mas no caso de um projeto complexo (não sendo na web), eu apenas devo baixar e instalar o Java EE que tudo funciona?
Para projetos assim, basta a JDK padrão mesmo. No caso de complexidade, há frameworks que consegue te ajudar bastante como o Spring, por exemplo.
Agora, para usar recursos do JavaEE não web, como o CDI (essa é uma das especificações do JavaEE), por exemplo, vc precisaria usar libs que implementam o CDI, como o Weld.
Só para vc entender melhor como comparação: no caso de sistemas web usando um Jboss (como mencionei antes), não precisaria ter que incluir nada (como o weld, por exemplo), pois já teria disponível no proprio servidor.
1 curtida
Só colocando meus 0,01 centavos de contribuição, se você pesquisar na internet sobre o Java EE provavelmente você vai ver que existe um carinha que é chamado de Jakarta EE, que nada mais é do que o antigo Java EE!
Mas porquê, o que muda?
Porquê quando a Oracle doou o projeto para a Linux Foundation eles não doaram o nome “Java EE”, por isso a Linux Foundation precisou fazer um rebranding da marca, que no caso foi escolhido “Jakarta EE”.
Grosseiramente não muda nada em relação à como o projeto funciona, somente que à partir da doação do projeto você vai encontrar mais fácil conteúdos das últimas versões pesquisando por Jakarta EE.