Bau

screenshot of Bau

Reactive library and components for building web user interface

Overview

Bau.js is a Javascript library that allows users to write reactive user interfaces for the web in under 350 lines of code. It provides a simple way to write UI components using Javascript, without the need for JSX, templating, or a virtual DOM. The library is reactive, meaning that when data is mutated, the corresponding views bound to that data are updated in the DOM. Bau.js also offers a set of additional libraries that provide a complete ecosystem for web development, including a CSS in JS library, a set of themable components, a router, a multi-page app starter kit, a static site generator, and integration for Astro.

Features

  • bau-css: A CSS in JS library in 33 lines of code.
  • bau-ui: A set of 50+ themable components, such as Button, Input, Tabs, Tree View, and Modal.
  • bau-router: A router with nested routes, asynchronous loading, and layout capabilities, with a bundle size under 0.6kB.
  • bau-kit: A multi-page app starter kit that includes all of the above features in a bundle size of only 5KB, representing a 20X decrease compared to the combo of React/Redux/React Router/Style Component.
  • bausaurus: A static site generator (SSG) that generates static sites from Markdown content.
  • bau-astro: Bau integration for Astro, allowing developers to leverage the server-side rendering (SSR) implementation provided by Astro.

Summary

Bau.js is a lightweight Javascript library for building reactive user interfaces for the web. It offers a simple way to write UI components using pure Javascript, without the need for JSX or virtual DOM. The library is reactive, allowing user interface components to automatically update when data is mutated. Bau.js also provides a full ecosystem of additional libraries for styling, theming, routing, multi-page app development, static site generation, and integration with Astro. With its small bundle size and excellent performance, Bau.js is an attractive option for developers looking for a lightweight and efficient solution for building web applications.