Web Applications
Two ways to build a web application on BoxLang - a raw MiniServer app, or a full framework starter built for building with an AI agent.
The BoxLang core runtime doesn't know anything about HTTP - "web" is a layer on top, provided by the MiniServer or a servlet server like CommandBox. What you put on top of that layer is up to you, and it depends on what you're building.
🧭 Which path should I take?
A single page, a small API, a prototype, or an embedded UI
Raw BoxLang (.bxm/.bx) on the MiniServer - no framework, nothing to learn first
🪶 Path 1: Raw BoxLang on the MiniServer
For something small, you don't need a framework at all. Drop an index.bxm in a folder and start the MiniServer:
cd mySite
boxlang-miniserverEnable URL rewrites if you want clean URLs, and route requests yourself out of index.bxm. That's the whole framework. It's the right amount of structure for a script, a webhook receiver, or a page that will never grow past a few routes.
🏗️ Path 2: ColdBox, started from cbGenesis
Once an app has more than a couple of routes, its own auth, or more than one person working on it, hand-rolling routing and conventions stops paying off. ColdBox is BoxLang's HMVC framework for that case - handlers, routing, dependency injection, interceptors, and a convention for where everything lives.
You can start a ColdBox app from a bare skeleton. The fastest way, though - especially with an AI agent doing some of the building - is cbGenesis, a production-ready ColdBox starter template that ships a working app, not a blank one:
Session auth, SSO, and WebAuthn passkeys
A
resource:actionrole-based permission model enforced via@securedhandler annotationsCSRF protection that's deny-by-default on every state-changing request
An admin panel (users, roles, permissions, audit log, settings) built on Alpine.js + Bootstrap
A real TestBox suite and a Docker Compose stack for local dev
Ten minutes later you have a login screen, not a to-do list of security features you still need to build.
Where to go next
MiniServerCommandBoxAgentic DevelopmentLast updated
Was this helpful?
