Exercícios, aprendizados e curso para Java e suas extensões.
Ao longo dos estudos, tive muita dificuldade em acostumar com a vastidão do ecossistema Java. Então decidir organiza-las para facilatar o entendimento e ter um norte sempre que preciso.
Lembrando que é apenas o meu entendimento, não necessariamente estão corretos em definição ou ordem. Compartilhe sua opinião e ajude no crescimento deste README.
1 Plataformas
- Java SE (Standard Edition) -> é a básica e fundamental. Ele fornece as bibliotecas essenciais e a JVM para desenvolver aplicativos Java de propósito geral.
- Java EE (Enterprise Edition) -> é uma extensão do JSE para desenvolvimento de app empresariais e web.
- JavaServer Faces (JSF) -> desenvolvimento de aplicativos web, interfaces dinâmicas e componentizadas.
- Java Persistence API (JPA) -> API que simplifica acesso e manipulação de RDBMS. Ele fornece um modelo de programação orientado a objetos para interagir com bancos de dados, permitindo que os desenvolvedores trabalhem com objetos Java em vez de SQL puro.
- Enterprise JavaBeans (EJB) -> Lógica de Negócios. Componentes reutilizáveis. Usado p/ encapsular e reutilizar lógica de negócios e dados.
- Java Transaction API (JTA) ->
- Java Naming and Directory Interface (JNDI) ->
- JavaServer Pages (JSP) -> tecnologia de criação de páginas web dinâmicas. Usado comumente com JSF.
- JavaFX -> criação de apps gráficos de desktop e interfaces de usuário ricas(interativas e atraentes).
- Java ME (Micro Edition) -> Micro serviços como sistemas embarcados(IoT), smartphones, etc. Objetivo de que possam ser executados em dispositivos com recursos de hardware e memória restritos.
2 Frameworks
- Spring Framework ->
- Spring Boot ->
- Spring Data ->
- Spring Security ->
- Spring MVC ->
- Hibernate (JPA Implementation) ->
- Struts ->
- PrimeFaces (JSF Component Library) ->
3 APIs
- JDBC (Java Database Connectivity) ->
- JMS (Java Message Service) -> Message Service. Perminite a comunicação entre componentes com base no Java.
- JTA (Java Transaction API) ->
- JNDI (Java Naming and Directory Interface) ->
- JMX (Java Management Extensions) ->
- JavaFX APIS (Controls, Scene Graph, etc) -> Com foco na Interfaces Gráficas de Usuário (GUI), a JFX abrange APIs de forma completa para desenvolvimento de aplicativos de desktop.
4 Ferramentas
- JDK (Java Development Kit) -> conjunto de ferramentas.Ele inclui o compilador Java, o JRE, bibliotecas de desenvolvimento e ferramentas para criar, depurar e executar aplicativos Java.
- JRE (Java Runtime Environment) -> Ambiente de tempo de execução. Contém o JVM e bib para exeução de app em java. Os usuários finais precisam do JRE para executar aplicativos Java em seus sistemas.
- JVM (Java Virtual Machine) -> máquina virtual que permite a execução de código Java compilado. Ela traduz o bytecode Java em código nativo que pode ser executado no sistema operacional. A JVM é uma parte fundamental do ambiente Java.
- Compilador Java ->
- Maven ->
- Gradle ->
- IntelliJ IDEA (IDE) ->
- Eclipse (IDE) ->
- NetBeans (IDE) ->