Skip to content
This repository was archived by the owner on Jun 17, 2025. It is now read-only.

KipCollo/Java-Revision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Ecosystem

It incudes all Frameworks,Tools and Technologies for modern development.

Frameworks

  1. Spring Framework:- For building enterprise-level applications.Spring is a powerful open-source Java platform (framework), that is used to create and maintain web applications. It starts as the Spring Framework providing a Dependency Injection Container. Spring Boot is an autoconfigurable packaging of multiple Spring projects (like Data, MVC, REST etc) initially created for creating microservices or quick PoC (Proof of concepts).
  2. Spring Boot:- Simplifies Spring-based application development.Spring Boot is an open source, microservice-based Java web framework. The Spring Boot framework creates a fully production-ready environment that is completely configurable using its prebuilt code within its codebase. The microservice architecture provides developers with a fully enclosed application, including embedded application servers.
  3. Hibernate:- For Object-Relational Mapping(ORM) Hibernate is an open source object-relational mapping tool that provides a framework to map object-oriented domain models to relational databases for web applications. Hibernate implements the specifications of JPA. Performance is key so Hibernate supports first-level and second-level caching.A powerful ORM tool that simplifies database operations and maps Java objects to tables, enhancing productivity and reducing boilerplate code.Core features are ORM, caching, and database abstraction.Use cases are Best for database-driven applications like ERP systems or apps requiring complex database interactions.
  4. Jakarta EE(Java EE):- Enterprise Edition for large scale applications.Core features are APIs for distributed computing, EJB, and transaction management.Used for Enterprise-grade B2B systems, banking applications, and large-scale financial apps.
  5. Apache Struts:- For building MVC-based web applications.MVC framework , a classic framework for building extensible web applications, known for its use in traditional enterprise projects.Used for Suitable for legacy systems and enterprise web portals
  6. Grails:- A Groovy-based framework for Java Developers.A simplified framework for rapid application development,built on Spring Boot and Hibernate.Used for Web apps, CMS platforms, and small-to-medium enterprise applications.
  7. Micronaut:- Lightweight framework for microservices and serverless apps.A modern, cloud-ready framework designed to optimize memory usage and performance for microservices development.Core features are Lightweight framework, reactive programming, and fast startup times.Ideal for Ideal for microservices, cloud-native apps, and serverless architectures.
  8. Quarkus:- Optimized for Kubernetes and cloud-native development.Quarkus is a Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards. It is a full-stack, Kubernetes-native Java framework made for Java virtual machines (JVMs) and native compilation, optimizing Java specifically for containers and enabling it to become an effective platform for serverless, cloud, and Kubernetes environments.A modern framework optimized for cloud environments,offering excellent integration with Kubernetes and container ecosystems.Features are Kubernetes-native, optimized runtime, and fast startup.Cloud-native microservices and containerized applications.
  9. Spark:- Spark is a micro framework for creating web applications in Kotlin and Java 8. Sinatra, a popular Ruby micro framework, was the inspiration for it.
  10. Play Framework:- Play Framework is a high-productivity web application framework that allows the model-view-controller pattern. It is written in Scala but can also be used for other programming languages that are compiled and run on the JVM. e.g.Java.A scalable framework built for high-performance web applications, emphasizing reactive programming for modern use cases.Core Features are Reactive streams, asynchronous I/O, and high scalability.Used for Real-time analytics platforms, streaming services, and highly concurrent applications
  11. DropWizard:- A minimalist framework focused on quickly building RESTful APIs and small-scale enterprise applications.Features includes RESTful APIs, lightweight libraries, and rapid development.Used for Low; beginner-friendly and straightforward.
  12. Vaadin:- A developer-friendly framework for creating interactive and responsive web UIs using Java without extensive frontend coding.Features includes Rich UI components and server-side Java for building modern UIs..Used for Dashboards, admin panels, and enterprise reporting tools.

Build Tools

  1. Maven:- Dependency management and bild tool.
  2. Gradle:- Build automation tool for multi-language projects
  3. Ant:- XML-based build tool

Web Development

There are many ways to develop Java web applications.When developing a Java web applications, you typically use parts of the Java Enterprise Edition(Java EE) specification.This specification describe how web servers can interact with all Java web technologies including servlets, JavaServer Pages(JSP),JavaServer Faces(JSF),Java Persistence API(JPA),Enterprise JavaBeans(EJB) and more.

  1. Servlets & JSPs:- For building dynamic web pages.Servlets store Java code that does server-side processing, and JSP store HTML that defines User Interfaces.Servlet/JSP API are relatively low-level API,it doesn't do much work for the developer.However,the servlet/JSP gives the developer a high degree of control over HTML,CSS and Javascript that is returned to the browser.In addition it is the foundation of other approaches in building web applicatios.
  2. Thymeleaf:- Modern server-side template engine.
  3. Vaadin:- Framework for building modern web applications.
  4. JSF (JavaServer Faces):- Component-based UI framework.It is newer technology designed to replace both servlets and JSPs.Provides higher-level API that does more work for the programmer.You typically use more Java EE features more than you do with servlet/JSP approach.You can also use Enterprise JavaBeans to define server-side components.
  5. Spring Framework:- It is higher-level API that does more work for programmer than servlet APIs.However,due to it's structure, the Spring Framework still gives the developer a high degree of control over HTML/CSS/Javascript that's returned to the browser.

Testing

  1. JUnit:- Unit testing framework.
  2. TestNG:- Advanced testing framework.
  3. Mockito:- Mocking framework for testing dependencies.
  4. Cucumber:- Behavior-driven development (BDD).
  5. Selenium:- Browser-based testing framework.

Persistence & Databases

  1. JPA (Java Persistence API):- ORM standard for database integration.
  2. MyBatis:- For custom SQL queries and ORM.
  3. JDBC :- Standard Java API for database connectivity.

Logging

  1. SLF4J:- Logging facade for different implementations.
  2. Log4j:- Advanced logging framework.
  3. Logback:- Logging framework with better performance.

Security

  1. Spring Security:- Comprehensive security framework.
  2. Apache Shiro:- General-purpose security framework.
  3. Keycloak:- Identity and access management solution.

Messaging

  1. JMS (Java Message Service):- Messaging standard for communication between systems.
  2. RabbitMQ Java Client:- For RabbitMQ integration.
  3. Apache Kafka (Java API):- Distributed streaming platform.

RESTful & Web Services

  1. JAX-RSAPI:- for building RESTful web services.
  2. OpenAPI:- documentation and testing tool.
  3. SwaggerAPI:- documentation and testing tool.

Development Tools

  1. Eclipse IDE:- Popular integrated development environment for Java.
  2. IntelliJ IDE:- AAdvanced IDE for Java development.
  3. NetBeans:- Java development IDE.
  4. Visual Studio Code:- Lightweight editor with Java extensions.

AI & Machine Learning

  1. Deeplearning4j:- Deep learning library for Java.
  2. Weka:- Machine learning library.
  3. Apache Mahout:- Scalable machine learning algorithms.

Concurrency & Parallelism

  1. Akka:- Actor-based concurrency library.
  2. RxJava:- For reactive programming.
  3. Project Loom:- Lightweight threads and continuations.

Networking

  1. Netty:- Asynchronous networking library.
  2. Grizzly:- NIO framework for building web servers.
  3. Apache MINA:- Network application framework.

Utilities

  1. Apache Commons:- A collection of reusable Java components for various tasks.
  2. Guava:- Google's utility library for Java, including collections, caching, and more.
  3. Jackson:- A JSON data-binding library for Java.
  4. Gson:- A library for converting Java objects to and from JSON.
  5. Joda-Time:- Library for better date and time management in Java.
  6. Apache POI:- For reading and writing Microsoft Office documents.
  7. JSoup:- Library for parsing and manipulating HTML.
  8. Apache PDFBox:- For creating, reading, and editing PDF documents.
  9. ZXing (Zebra Crossing):- A barcode and QR code scanning library for Java.
  10. Google Truth:- Library for writing readable and easy-to-maintain test assertions.
  11. FasterXML:- High-performance serialization/deserialization library.
  12. Apache Lucene:- A powerful search engine library for full-text search.
  13. SnakeYAML:- For working with YAML configurations in Java.
  14. JavaFX:- Toolkit for building rich client applications.
  15. OpenCSV:- For reading and writing CSV files in Java.
  16. Lombok:- Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages