A lightweight web framework built for scale, featuring baked-in
RESTful server-side and
client-side caching. Suitable for frontend user interfaces and backend APIs.
Prudence is distributed as a single, compact, customizable executable file with no external
dependencies.
Web frameworks are a dime a dozen! So what makes this one worthy of your consideration? Well, here's the
pitch: it distills years of professional experience with REST caching, boils down lessons learned (the hard
way) from well-intentioned but over-engineered experiments, finally landing in a from-scratch codebase that
is laser-focused on exactly what needs to be in a framework and nothing else. Prudence is eminently lightweight
and yet eminently expressive. It intends to be the last stop in your search for the right framework. Welcome
home.
Triple-phase representation generation allows for composable, fine-grained, associative control
over server-side and client-side caching. Reap the full benefits of idempotency in RESTful network
architectures.
Prudence is written in Go for reliability and performance but allows you to use straightforward
JavaScript for assembling and configuring your application. (JavaScript is not required.
Here's an example in pure Go.)
Additionally supports JavaScript Templates (JST) for generating HTML pages by
combining design with code scriptlets. And there's sugar.
Pluggable server-side cache backends. Store your generated representations in fast distributed
stores such as Memcached, Redis, etc.
Extensible via the xprudence tool, which allows you
to create custom builds of Prudence bundled with the plugins and APIs required by your applications.
Even when extended in this way, Prudence is still distributed as a single, compact executable file.
Prudence is fun. Through rigorous benchmarks conducted in our good-times laboratory we found
Prudence to be a zillion times more fun than competing products from leading brand names.