airframe
Airframe is a Scala framework providing dependency injection, serialization, testing, logging, and RPC capabilities for building web and backend applications. It supports Scala 3 as the default version with Scala 2.12/2.13 compatibility and is published to Maven Central.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | wvlet/airframe |
| Owner | wvlet |
| Primary language | Scala |
| License | Apache-2.0 — OSI-approved |
| Stars | 664 |
| Forks | 68 |
| Open issues | 109 |
| Latest release | v2026.2.2 (2026-07-02) |
| Last updated | 2026-07-02 |
| Source | https://github.com/wvlet/airframe |
What airframe is
A modular Scala toolkit featuring a Guice-inspired DI container, AirSpec testing framework, MessagePack/JSON serialization, HTTP RPC support, and gRPC integration. Built with Scala 3 and Scala.js cross-compilation support, with active CI/CD pipelines and code coverage monitoring.
Get the airframe source
Clone the repository and explore it locally.
git clone https://github.com/wvlet/airframe.gitcd airframe# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Airframe requires JDK and Scala toolchain (sbt); ensure build infrastructure supports Scala 3 and cross-compilation to Scala 2.12/2.13 if backward compatibility is needed.
- DI configuration is declarative and compile-time safe; teams must adopt Airframe's design patterns (e.g., trait mixins, bind methods) rather than annotation-based configuration.
- Multiple modules (DI, logging, serialization, RPC, testing) can be adopted incrementally; evaluate which modules align with existing architecture before full adoption.
- Binary compatibility checking is available via MiMa; plan for semantic versioning and compatibility testing when upgrading, especially in shared libraries.
- Scala 3 is the default; if Scala 2 is required, explicit version management via sbt cross-compilation is necessary and may delay upgrade cycles.
When to avoid it — and what to weigh
- Java-Primary Codebase — If your team uses Java as the primary language, Airframe's Scala-first design and idioms make it a poor fit; consider Guice or Spring instead.
- Large Existing Spring/Quarkus Investment — Projects with significant Spring or Quarkus infrastructure will face friction replatforming; Airframe does not provide drop-in compatibility with those ecosystems.
- Need for Extreme Minimal Footprint — If lightweight runtime and minimal transitive dependencies are critical, Airframe's module count (multiple specialized packages) may introduce unwanted overhead compared to manual DI.
- Widespread Enterprise Framework Mandate — Organizations mandated to use industry-standard frameworks (e.g., Play Framework, Akka/Pekko) may face governance or support barriers with a more specialized tool.
License & commercial use
Apache License 2.0 (Apache-2.0). Permissive OSI-approved license allowing commercial use, modification, and distribution with attribution and liability/warranty disclaimers.
Apache-2.0 permits commercial use without license fees or approval requirements. However, verify your specific use case (e.g., redistribution of modified libraries, embedding in proprietary products) against Apache-2.0 terms and internal compliance policy; consult legal if uncertain.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
No known vulnerabilities disclosed in provided data. Dependencies and transitive closure not enumerated; perform standard software composition analysis (SCA) scan. RPC and serialization modules handle user input (JSON, MessagePack, gRPC); review serialization logic for injection attacks if processing untrusted data. HTTP/RPC server configurations should be hardened per deployment context (e.g., TLS, authentication, rate limiting). No claim of formal security audit provided.
Alternatives to consider
Google Guice
Lightweight Java DI framework with Scala support; simpler, more familiar to polyglot teams, but lacks Scala-first idioms and built-in RPC/serialization.
Play Framework
Full-stack Scala web framework with routing, ORM, and DI; heavier and opinionated, but more established in enterprise Scala ecosystems and broader community support.
Akka/Pekko + Akka HTTP
Actor-based concurrency and HTTP server for Scala; strong for distributed systems and high-concurrency workloads, but steeper learning curve and different architectural model than Airframe DI.
Build on airframe with DEV.co software developers
If your team builds Scala applications and seeks a cohesive DI and RPC framework without heavyweight dependencies, review the official documentation at wvlet.org/airframe, run a proof-of-concept with a non-critical service, and verify compatibility with your JDK and Scala versions.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
airframe FAQ
Can I use Airframe in a Java project?
Does Airframe support Scala 3?
Is Airframe suitable for production?
What are the performance characteristics?
Custom software development services
Adopting airframe is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.
Evaluate Airframe for Your Scala Backend
If your team builds Scala applications and seeks a cohesive DI and RPC framework without heavyweight dependencies, review the official documentation at wvlet.org/airframe, run a proof-of-concept with a non-critical service, and verify compatibility with your JDK and Scala versions.