← Retour au blog
tech 10 June 2026

Biff.core: System Composition for Clojure Web Apps

Discover Biff.core, the essential library for structuring your Clojure web applications with efficiency and modularity.

Article inspired by the original source
Biff.core: system composition for Clojure web apps ↗ biffweb.com

Introduction to Biff.core

In the world of web development, modularity and efficiency are critical. For developers using Clojure, Biff.core emerges as an innovative solution to elegantly and modularly structure applications. Biff.core is the first library to be released as part of the Biff 2 overhaul, offering a simplified approach to composing complex systems.

Why Biff.core?

Originally, Biff utilized a "modules and components" structure that required a significant amount of boilerplate code to combine these elements into a single system map. With Biff 2, this structure is retained but with a significant reduction in the boilerplate required. The goal is to enable developers to easily and quickly integrate modules without constantly modifying their main namespace.

Key Features

Initialization Functions

One of the major innovations of Biff.core is the introduction of initialization functions. These functions take a collection of modules and return a single map that can be merged into your system map. For example, instead of manually writing instructions to handle :routes keys in your modules, you can simply add a module and let Biff.core handle the details.

Late Binding

Another significant advantage is the capability of late binding. This means that when you modify your modules, the handler variable updates automatically, and incoming requests always use the latest handler. This behavior is essential for dynamic development environments where frequent code changes should not require restarting the web server.

Use Case

Consider an example of a web application that manages API routes and user requests. With Biff.core, instead of manually defining each route in your application, you can leverage the initialization function to automatically aggregate routes from different modules. This not only reduces boilerplate but also ensures your application remains flexible in the face of future changes.

Conclusion

Biff.core positions itself as an indispensable tool for Clojure developers looking to maximize the modularity and maintainability of their web applications. By reducing boilerplate and simplifying system composition, Biff.core allows you to focus on what matters: building robust and scalable applications.

Let's discuss your project in 15 minutes.

Biff.core Clojure modularité développement web systèmes complexes
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call