DEV.co
Open-Source Databases · wvlet

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.

Source: GitHub — github.com/wvlet/airframe
664
GitHub stars
68
Forks
Scala
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorywvlet/airframe
Ownerwvlet
Primary languageScala
LicenseApache-2.0 — OSI-approved
Stars664
Forks68
Open issues109
Latest releasev2026.2.2 (2026-07-02)
Last updated2026-07-02
Sourcehttps://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.

Quickstart

Get the airframe source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/wvlet/airframe.gitcd airframe# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Scala Backend Development

Teams building server-side applications in Scala seeking a cohesive, lightweight dependency injection and configuration framework without requiring heavyweight application servers.

Full-Stack Scala Development

Projects using Scala for both frontend (via Scala.js) and backend where RPC and shared serialization reduce boilerplate and type-unsafe boundaries between client and server.

Microservices with gRPC

Organizations building microservice architectures in Scala with RPC requirements and needing structured logging, metrics collection, and HTTP/gRPC interoperability out of the box.

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.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related 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?
Airframe is Scala-first and uses Scala-specific idioms (traits, implicit params). Java interop is possible for basic DI bindings but not recommended; prefer Guice or Spring for Java.
Does Airframe support Scala 3?
Yes, Scala 3 is the default. Scala 2.12 and 2.13 are supported via sbt cross-compilation (++ 2.12 or ++ 2.13).
Is Airframe suitable for production?
Yes. Active maintenance, Apache-2.0 license, Maven Central distribution, CI/CD pipelines, and community usage since 2016 indicate production readiness. Perform standard security and compatibility vetting for your use case.
What are the performance characteristics?
Not clearly stated in provided data. Airframe documentation and benchmarks (if available) should be reviewed; compile-time DI setup may offer faster startup than runtime reflection-based DI.

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.