ActiveJ alternatives and similar libraries
Based on the "Web Frameworks" category.
Alternatively, view ActiveJ alternatives based on common mentions on social networks and blogs.
-
SOFABoot
SOFABoot is a framework that enhances Spring Boot and fully compatible with it, provides readiness check, class isolation, etc. -
Solon v2.6.1
๐ฅ Java "new" application development Framework: Restrained, concise, EFFICIENT, OPEN, ECOLOGICAL!! 300% higher concurrency 50% memory savings Startup is 10 times faster. Packing 90% smaller; Compatible with java8 ~ java22. -
JavaLite
JavaLite is a cohesive collection of frameworks designed from ground up to add pleasure back to your daily life -
Vraptor4
A web MVC action-based framework, on top of CDI, for fast and maintainable Java development. -
Hilla
Build better business applications, faster. No more juggling REST endpoints or deciphering GraphQL queries. Hilla seamlessly connects Spring Boot and React to accelerate application development. -
Rife2
Full-stack, no-declaration, framework to quickly and effortlessly create web applications with modern Java. -
ButterFaces
A lightweight and responsive JSF framework that combines the advantages from Bootstrap, jQuery and HTML 5 to develop fast, easy and modern web applications using JSF 2. -
Vaadin Flow
Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of ActiveJ or a related project?
README
Introduction
ActiveJ is a modern Java platform built from the ground up. It is designed to be self-sufficient (no third-party dependencies), simple, lightweight and provides competitive performance. ActiveJ consists of a range of libraries, from dependency injection and high-performance asynchronous I/O (inspired by Node.js), to application servers and big data solutions. You can use ActiveJ to build scalable web applications, distributed systems and use it for high-load data processing.
ActiveJ components
ActiveJ consists of several modules, which can be logically grouped into the following categories :
- Async.io - High-performance asynchronous IO with the efficient event loop, NIO, promises, streaming, and CSP. Alternative to Netty, RxJava, Akka, and others. (Promise, Eventloop, Net, CSP, Datastream)
- HTTP - High-performance HTTP server and client with WebSocket support. It can be used as a simple web server or as an application server. Alternative to other conventional HTTP clients and servers. (HTTP)
- ActiveJ Inject - Lightweight library for dependency injection. Optimized for fast application start-up and performance at runtime. Supports annotation-based component wiring as well as reflection-free wiring. (ActiveJ Inject)
- Boot - Production-ready tools for running and monitoring an ActiveJ application. Concurrent control of services lifecycle based on their dependencies. Various service monitoring utilities with JMX and Zabbix support. (Launcher, Service Graph, JMX, Triggers)
- Bytecode manipulation
- ActiveJ Codegen - Dynamic bytecode generator for classes and methods on top of ObjectWeb ASM library. Abstracts the complexity of direct bytecode manipulation and allows you to create custom classes on the fly using Lisp-like AST expressions. (ActiveJ Codegen)
- ActiveJ Serializer - Fast and space-efficient serializers created with bytecode engineering. Introduces schema-free approach for best performance. (ActiveJ Serializer)
- ActiveJ Specializer - Innovative technology to improve class performance at runtime by automatically converting class instances into specialized static classes and class instance fields into baked-in static fields. Provides a wide variety of JVM optimizations for static classes that are impossible otherwise: dead code elimination, aggressive inlining of methods and static constants. (ActiveJ Specializer)
- Cloud components
- ActiveJ FS - Asynchronous abstraction over the file system for building efficient, scalable local or remote file storages that support data redundancy, rebalancing, and resharding. (ActiveJ FS)
- ActiveJ RPC - High-performance binary client-server protocol. Allows building distributed, sharded, and fault-tolerant microservice applications. (ActiveJ RPC)
- Various extra services: ActiveJ CRDT, Redis client, Memcache, OLAP Cube, Dataflow
Quick start
Paste this snippet into your terminal...
mvn archetype:generate -DarchetypeGroupId=io.activej -DarchetypeArtifactId=archetype-http -DarchetypeVersion=5.4.3
... and open the project in your favorite IDE. Then build the application and run it. Open your browser on localhost:8080 to see the "Hello World" message.
Full-featured embedded web application server with Dependency Injection:
public final class HttpHelloWorldExample extends HttpServerLauncher {
@Provides
AsyncServlet servlet() {
return request -> HttpResponse.ok200().withPlainText("Hello, World!");
}
public static void main(String[] args) throws Exception {
Launcher launcher = new HttpHelloWorldExample();
launcher.launch(args);
}
}
Some technical details about the example above:
- The JAR file size is only 1.4 MB. By comparison, the minimum size of a Spring web application is about 17 MB.
- The cold start time is 0.65 sec.
- The ActiveJ Inject DI library used is 5.5 times faster than Guice and hundreds of times faster than Spring.
To learn more about ActiveJ, please visit https://activej.io or follow our 5-minute getting-started guide.
Examples of using the ActiveJ platform and all ActiveJ libraries can be found
in the examples
module.
Release notes for ActiveJ can be found here
*Note that all licence references and agreements mentioned in the ActiveJ README section above
are relevant to that project's source code only.