FicusJS documentation #

Browsers have improved greatly. Many of the reasons to reach for a big framework like React or Angular have gone away.

You don't have to rely on a complex build system, bundlers, or other tooling to ship your Javascript to users anymore.

Browsers have support to import Javascript modules directly. You don't have to add all the baggage and complexity of a build tool to template your components in JSX - you can use Javascript tagged template literal syntax.

If don't want to pull in the complexity of a large framework like React or Angular, but still want to build applications with components, FicusJS is for you!

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

  • creating web components
  • managing application state
  • publish/subscribe event bus
  • reuse with modules

What are 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.

Go build-less #

Browsers have improved a lot over the past years. It's now possible to do web development without requiring any build tools, using the native module loader of the browser. We think this is a great fit for FicusJS, and we recommend this as a general starting point.

Aligns with standards #

FicusJS aligns with standard browser APIs which means it is not based on any proprietary code or libraries.

As it is based on standards, it has longevity and is a good choice for enterprise web applications.

In essence, it wraps the browser APIs providing a thin functional and declarative layer to make building web applications quick and easy.

Why ficus? #

Ficus, pronounced fick-us, trees are a common plant in the home and office, mainly because they look like a typical tree with a single trunk which spreads into a canopy of leaves.
This is similar to a web application with a spread of web components!