Build a non-blocking HTTP server that handles many concurrent connections on the JVM
Write a TCP service that uses native epoll or io_uring transport on Linux
Use the asynchronous file system API for streaming file processing
Use vertx-core as the base layer for a custom Vert.x module
| eclipse-vertx/vert.x | arduino/arduino | hdodenhof/circleimageview | |
|---|---|---|---|
| Stars | 14,659 | 14,581 | 14,515 |
| Language | Java | Java | Java |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Building from source needs Maven and a working JDK, and native transport profiles only run on Linux or BSD hosts.
Vert.x is a toolkit for building reactive applications on the JVM, which is the runtime environment that Java programs use. This repository holds the core piece of Vert.x. The README describes core as containing low-level functionality, including support for HTTP, TCP networking, file system access, and other features. The core can be used directly inside an application, and it also serves as the base that many other Vert.x components are built on top of. The README is short and points readers to the project website at vertx.io for the bigger picture of what Vert.x is and where core fits. The repository itself does not try to explain the toolkit in depth. Instead it focuses on the practical steps a contributor or builder would take when working with the source code. Most of the README is build instructions. You can produce the Vert.x artifacts by running a Maven package command. You can run the tests with a Maven test command, optionally setting HTTP and HTTPS ports. Vert.x supports what it calls native transport on BSD and Linux systems, with separate test profiles for NativeEpoll, NativeIoUring, and NativeKQueue. There is also a Linux-only mode for testing with domain sockets, and a separate integration test setup that runs the JVM with different configuration. The final section explains how to build the documentation locally by running a Maven docs profile, then opening the generated HTML file in a browser. Beyond that the README does not cover usage examples, API details, or design philosophy, so a reader who wants to learn how to write a Vert.x app would need to follow the link to the website.
Core of the Vert.x reactive toolkit for the JVM, providing low-level HTTP, TCP, and file system APIs that other Vert.x modules build on.
Mainly Java. The stack also includes Java, JVM, Netty.
Dual-licensed under Eclipse Public License 2.0 and Apache 2.0, so you can use it commercially with attribution but EPL changes to Vert.x itself must be shared back.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.