Cascade
Welcome to Cascade! Cascade is a web application view library for Clojure that emphasizes idiomatic use of Clojure while drawing inspiration from the Apache Tapesty web framework.
Cascade templates are an embedded DSL directly in the Clojure code; this takes some getting used to but ensures that you can take maximum advantage of Clojure when creating your application. Templates are converted to functions.
Cascade converts templates to function, but the output of functions is not markup text; instead, Cascade uses an internal DOM structure as an intermediate format prior to streaming markup. This has some significant advantages,
in that the final output can be manipulated between the rendering stage and the streaming stage.
Cascade is designed to be used as a view technology with Ring and Compojure.
See the Cascade Wiki for more information.
Status
So where’s the progress? Sorry folks, I’ve been busy with several large Tapestry projects, plus Tapestry 5.3, plus Project Jacob (my now 19 month old son) to make any progress on Cascade. I still have high hopes for Cascade, but I’m in the chicken-and-the-egg problem of finding a client that can directly or indirectly support its development.
Cascade started as a full web framework, but has evolved into a view technology that plugs into existing frameworks (Ring and Compojure).
Authors
Cascade is a itty-bitty side project of Howard M. Lewis Ship, who should be spending more time on Tapestry.
Care to contribute? Drop me a line!
License
Cascade is released under the terms of the Apache Software License 2.0.
Cascade bundles the following libraries:
- JQuery library (version 1.7), distributed under dual MIT and GPL licenses
- RequireJS (version 1.0.1), distributed under the dual licenses: MIT and “new” BSD license
- Bootstrap (version 1.4.0), distributed under the Apache Software License 2.0