Render UI via pure functions and virtual DOM

Decca allows you to compose DOM structures with reuseable Components in a functional way. It is a drop-in replacement for Deku, which takes much inspiration from React and other functional-style view libraries.


Documentation →
Playground →


Decca is available via npm for Browserify and Webpack. (Don’t use npm? Get the standalone build from

npm install --save --save-exact decca


Components are mere functions or objects (not classes!) that at least implement a render() function. See components documentation for more information.

/* @jsx element */
import { dom, element } from 'decca'

function Message ({ props }) {
  return <div>Hello there, {}</div>

// Render the app tree
const render = dom.createRenderer(document.body)
render(<Message name='Rico S.' />)

Try out Decca in


See the API reference and Deku’s documentation. Also see a comparison with Deku.


Decca takes blatant inspiration from Deku by the amazing Anthony Short and friends.


decca © 2015+, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors (list).  ·  GitHub @rstacruz  ·  Twitter @rstacruz