Sinobu

Overview

Sinobu is not obsolete framework but utility. It acts as an extremely condensed facade for common development tasks, designed to be intuitive and efficient.

Weighing in at approximately 120 KB with zero external dependencies, Sinobu prioritizes lightweight deployment and avoids dependency conflicts. Despite its small size, its various operations are engineered for high performance, often rivaling or exceeding competing specialized libraries (see Benchmark).

This library aims to simplify and consolidate functionalities frequently encountered in real-world projects, making them easier and safer to use. Key areas covered include:

  • Dependency Injection
  • Object lifecycle management
  • Property based object modeling
  • HTTP(S) Client
  • Web Socket Client
  • JSON
  • HTML (Tag Soup Tolerant)
  • XML
  • Reactive Programming (Rx)
  • Asynchronous & Parallel processing
  • Multilingualization
  • Template Engine (Mustache Syntax)
  • Dynamic Extensibility / Plugin System
  • Object persistence
  • Logging (Garbage-Less)
  • Virtual Job Scheduler
  • Task Scheduling (Cron Syntax)

Sinobu adheres to core principles ensuring ease of use, safety, and efficiency.

Futures

Sinobu's design philosophy is guided by several core principles, aimed at delivering a powerful yet minimalistic development experience:

🚀 Lightweight

Sinobu maintains a minimal footprint (approximately 120 KB) with absolutely no external dependencies. This design choice results in faster startup times, significantly smaller deployment packages, and complete avoidance of dependency conflicts — an ideal fit for embedded systems, microservices, or any environment where lean execution is key.

⚡ High Performance

Performance is at the heart of every component. Internal operations are implemented with a focus on low memory overhead and high throughput. Most allocations are short-lived and garbage-friendly, which makes Sinobu suitable even for latency-sensitive systems. See the benchmark section for in-depth comparative results.

✨ Simplicity

The API surface is deliberately kept minimal and expressive. Developers can often accomplish complex tasks using a few static methods on the I facade class. This reduces boilerplate, encourages readability, and lowers the learning curve for new contributors.

void access() {
    I.http("http://xxx.com/", XML.class).to(html -> {
        String name = html.find("#user").text();
    });
}

🖥️ Multifunction

Despite its small size, Sinobu is packed with a wide array of capabilities. These features are not isolated; they are thoughtfully composed so that they work together seamlessly, forming a cohesive and versatile toolkit.

♻️ Reactivity

Sinobu embraces reactivity as a foundation for composing asynchronous, event-driven logic. The Signal class acts as a reactive primitive that allows values to propagate through a declarative flow of transformations, observers, and combinators.

🛡️ Type Safety

All APIs are designed to leverage Java’s static type system to the fullest. This promotes correctness, allows for confident refactoring, and minimizes the risk of runtime errors.

How to install

It is probably easiest to use a build tool such as Maven or Gradle. Replace `` with the desired version number.

<dependency>
     <groupId>com.github.teletha</groupId>
     <artifactId>sinobu</artifactId>
     <version>VERSION<version>
 </dependency>

Getting Involved

Sinobu is an open-source project hosted on GitHub. Contributions, bug reports, and feature requests are welcome.

  • Repository:https://github.com/teletha/sinobu
  • Issues: Please report bugs or suggest features via GitHub Issues.
  • Contributions: Pull requests are welcome! Please ensure code style consistency and include tests where applicable.
Lifestyle Management