FicusJS is a set of lightweight functions for developing web applications. It is focused on:

  • Web components
  • Managing state
  • Pub/sub event bus
  • Internationalization (i18n)
  • Reuse with modules

Web components

Web components are a set of browser APIs that allow you to create new custom, reusable, encapsulated HTML elements for use in web applications.

Web Components work across modern browsers and can be used with any JavaScript library or framework that works with HTML.

Managing state

Most web applications need to manage state. State can mean different things depending on the context. State in components can be implemented using a number of patterns and functions.

  • Local component state (data contained within the component)
  • State machines and statecharts (an abstract machine that can be in exactly one of a finite number of states at any given time)
  • application state (data available across the whole application)

Pub/sub event bus

For communication between components, the event bus provides a topic-based publish/subscribe API.

Internationalization (i18n)

Provides functions for internationalization (i18n) and localization in components.

Reuse with modules

A set of components can be shared as a module using a package manager or publishing it to a URL.

By packaging components into a module, it can be imported into other applications and re-used multiple times.

Read the full documentation

To read the full documentation visit