Hosted by Three Crickets

Prudence
Scalable REST Platform
For the JVM

Prudence logo: bullfinch in flight

Prudence

Prudence is a state-of-the-art development platform for highly scalable web sites and web APIs. Easily and elegantly master advanced platform features, such as sophisticated server- and client-side caching, URI-space management, and "cloud" clustering. Write your code in JavaScript, Python, Ruby, PHP, Lua, Groovy, or Clojure.

Download button

Built to Scale

Prudence stands out from similar platforms in that it is designed from the ground up to scale. Your code runs on a JVM: a dependable, fast and portable base. Moreover, Prudence is ready right now for your cloud deployments: instances will automatically discover each other and form super-scalable clusters.

It adheres to proven REST principles, which work with the web's inherent architecture and infrastructure, rather than awkwardly forcing it into alien paradigms.

And since this comes up a lot: see how Prudence differs from Node.js.

Amazing Documentation

We're very proud of it. The book-length Prudence Manual, online or in hardcopy, will gently guide you through all the features, with plenty of examples and tips. All APIs are thoroughly documented. Start with the tutorial and explore from there!

Speaks Your Language

No Java coding is necessary. Whether you use JavaScript, Python, Ruby, PHP, Lua, Groovy, or Clojure, Prudence keeps you within the paradigms and idioms relevant to that language and its culture. It picks up and compiles your changes on-the-fly, and provides runtime debugging information.

REST Easy

It's never been so easy to create fully powered RESTful resources. Don't get bogged down by HTTP semantics: Prudence handles resource encapsulation, conditional requests, and content negotiation for you. It's also easy to manage client-side caching, allowing for the best possible web experience.

Design your URI-space with elegance and flexibility. Directly map URIs to files, or create your own routing scheme. With Prudence, you don't have to compromise on your ideal architecture: your URLs can be as clear and pretty as your code.

Good Old Pages

Prudence also supports classic web programming by letting you embed code "scriptlets" into inheritable web page templates, similarly to PHP, JSP, or ASP. Scriptlets can be written in any of the supported programming languages, or you can choose a templating engine instead: examples are included for integrating Jinja2 and StringTemplate.

But Prudence goes a step beyond similar platforms by integrating tiered, fine-grained caching of your pages using pluggable cache backends, including built-in support for memcached, MongoDB and Hazelcast.

And if you need it, there's MVC, too.


Diligence and Prudence

Prudence is intended as a minimalistic platform, purposely agnostic to any particular application paradigm or data backend. If you are hungry for a complete solution, see Dilgence, a comprehensive web development framework built on top of Prudence and MongoDB.

Diligence logo: sleeping monkey Prudence logo: bullfinch in flight