Baahu

Baahu

  • Docs
  • API
  • Github
  • Blog

›Getting Started

Getting Started

  • Introduction/Pitch
  • Setup

Core Concepts

  • VNodes and SFCs
  • Machines
  • Keys
  • Routing & Code-Splitting
  • Performance
  • SSR
  • Testing
  • Forms

Tutorials

  • SoundCloud Clone

API Reference

  • Cheat Sheet

Introducing Baahu

What is Baahu?

Baahu is a zero-dependency Moore machine-based SPA framework for Javascript + TypeScript

Features

  • Faster and smaller than major frameworks/libraries (Svelte, Preact, Vue, React, and Angular)
  • Built-in robust state management: Finite State Machines!
  • Event-driven, not change-driven/reactive
  • Built-in trie-based router & code-splitting
  • First-class TypeScript support: type-checked JSX, props, states, events.
  • O(1) component rendering for all components, not just leaves.

Contributors

  • TJ Kandala

Tradeoffs/Anti-Pitch

  • API is slightly more restrictive compared to larger libraries. For instance, components cannot return arrays (single child only).

  • The built-in features, such as routing, state management, and dynamically imported components, are coupled to baahu's internal architecture. They cannot be tree-shaken away.

Why was baahu created?

The purpose of baahu is to make complex UI easier to implement through explicit state machines, without sacrificing end user experience (bundle-size + performance).

Read more

Setup →
  • What is Baahu?
  • Features
  • Contributors
  • Tradeoffs/Anti-Pitch
  • Why was baahu created?
Baahu
Docs
Getting StartedGuidesAPI Reference
More
BlogGitHub
Copyright © 2020 TJ Kandala