Overview

Widgetbook is a sandbox for building widgets and screens in isolation. It helps you develop and share hard-to-reach states and edge cases without needing to run your whole app. Widgetbook is open-source and free to use.

Still don't get what Widgetbook really is? Maybe the Flutter team can explain it better (note that this is a very old version of Widgetbook, and the UI has changed since then).

The Problem

While developing widgets or screens, you have probably faced one of the following problems:

  • Hard-to-reach states: You need to test a widget in a specific state (e.g. error, loading, etc.) but it is hard to reach that state in your app.
  • Time consuming: You need to run your whole app to test a single widget or screen, and even spend more time to test in in different configurations (e.g. dark mode, different locales, etc.).
  • API/Datasource dependencies: You need to mock data or APIs to test your screens, which is time-consuming and error-prone, and it is even not always possible to do that.
  • Collaboration: You need to share your widgets with your design team or other developers, but it is hard to do that without a proper documentation or cataloging system.

The Solution: Widgetbook

With Widgetbook you can build UI in isolation without the depending on any external data source or API. This allows you to:

  • Easily test your widgets in different states (e.g. error, loading, etc.) via Knobs, and configurations (e.g. dark mode, different locales, etc.) via Addons.
  • Mock your data so you can test your widgets without the need to run your whole app (learn more about Mocking).
  • Catalog your widgets and screens in a single place, so you can easily share them with all your team members (e.g. developers, designers, product managers, QA testers).

Customers Showcase

Lotum

Lotum speeds up their app development by building their widgets in isolation with Widgetbook.

1KOMMA5°

1KOMMA5° creates an in-house design system which is used across 6 different projects.

LeanCode

LeanCode is a software agency which creates a design system template that they share with every new client for the project start.