Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.1.9

flutterbook

Ein Storyboard-Tool zur Beschleunigung der Entwicklung von Flutter-Widgets.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
235
Likes
42
Pub-Punkte
130

Paket installieren

flutter pub add flutterbook

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

FlutterBook ist ein Storyboard-Tool, das die Entwicklung von Flutter-Widgets beschleunigen soll, indem es komponentenbasiertes UI-Design ermöglicht. Es ermöglicht Entwicklern und Designern, einzelne Widgets isoliert zu visualisieren, zu testen und zu iterieren, mit Echtzeit-Vorschauen über mehrere Plattformen hinweg. Für schnelle Prototypen entwickelt, unterstützt es dynamische Konfiguration und Zustandsverwaltung innerhalb einer visuellen Oberfläche. Das Tool lässt sich problemlos über einen einfachen pub add-Befehl in den Flutter-Arbeitsfluss integrieren und ist Open Source, wodurch Community-Beiträge gefördert werden. Ideal für Teams, die auf konsistente, wiederverwendbare UI-Komponenten setzen.

Anwendungsfälle

  • Schnelle UI-Prototypenerstellung
  • Komponentenbibliothek-Entwicklung
  • Plattformübergreifende Widget-Tests
  • Design-System-Implementierung
  • Kollaborative UI-Reviews

Hauptmerkmale

  • Echtzeit-Vorschau über Plattformen hinweg
  • Interaktive Widget-Konfiguration
  • Unterstützung für mehrere Gerätegrößen
  • Eingebautes Zustandsmanagement
  • Open-Source und erweiterbar

Geeignet für

  • UI/UX-Designer, die mit Flutter arbeiten
  • Frontend-Entwickler, die wiederverwendbare Komponenten erstellen
  • Teams, die ein Designsystem verwenden
  • Produktteams, die an UI-Mockups arbeiten
  • Entwickler, die schnellere Feedback-Schleifen suchen

Hinweise

  • Erfordert Integration in bestehendes Flutter-Projekt
  • Beschränkt auf Widget-Ebene Visualisierung
  • Kein vollständiges Design-Tool wie Figma
  • Am besten geeignet für komponentenorientierte Workflows
  • Möglicherweise ist zusätzliche Einrichtung für komplexe Zustände erforderlich

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Flutterbook

Flutterbook

A storyboarding tool to accelerate the development of Flutter widgets. Inspired by Storybook.js.

The package is built to support Windows and Web layouts. There is no support for mobile support at the moment. This is new and still under heavy development, expect many changes to occur with usage.

License: MIT


Go subscribe to my YouTube channel to support development.

MOONSDONTBURN Header

Demo

Demo Link Here

Overview ✨

Creating the Main

Start by creating the storyboard widget. This will wrap the Flutterbook widget so that when it is edited, it will hot reload.

class Storyboard extends StatelessWidget {
  const Storyboard({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return FlutterBook(
      categories: [
          // organizers ...
      ],
    );
  }
}

After creating the Storyboard widget, you can run it by using the main. I recommend making another file named main_storyboard.dart to maintain your storyboard.

void main() {
  runApp(const Storyboard());
}
// Or run it directly, but this will cost the hot reload.
// void main() {
//   runApp(const Flutterbook(categories:[...]));
// }
How to add Widgets

To add widgets, you simply put Organizers, aka Category, Folder, Component, and ComponentState.

The hierarchy goes

Category > Folder > Component > ComponentState

but you may also do

Category > Component > ComponentState

or

Category > Folder > Folder > Component > ComponentState

Here is a complex example of a single Category. In the example, we use the builder where we are able to access different controls.

Category(
    categoryName: 'LIBRARY',
    organizers: [
    Folder(
        folderName: 'Charts',
        organizers: [
        Component(
            componentName: 'LineGraph',
            states: [
            ComponentState.child(
                stateName: 'Default Container',
                child: Container(),
            ),
            ],
        ),
        ],
    ),
    Component(
        componentName: 'Button',
        compenentMarkdoown: """##A global button component""",
        states: [
        ComponentState(
            stateName: 'Primary',
            markdown: """Used for the main action to be performed"""
            codeSample:  r'''
Button.primary(
  child: Text('Primary Button'),
  onPressed: () {},
);
'''
            builder: (context, c) {
            return Center(
                child: SizedBox(
                width: c.number(
                    label: 'Number',
                    initial: 50,
                    min: 50,
                    max: 250,
                ),
                height: c.number(
                    label: 'height',
                    initial: 50,
                    min: 50,
                    max: 250,
                    description: 'random stuff',
                ),
                child: CupertinoButton.filled(
                    onPressed: c.boolean(
                    label: 'boolean',
                    initial: true,
                    )
                        ? () {}
                        : null,
                    child: Text(
                    c.text(label: 'Text', initial: 'Hello World'),
                    ),
                ),
                ),
            );
            },
        ),
        ],
    ),
    ],
),
That's it!

Roadmap 🚧

  • [ ] Mobile Support
  • [ ] 100% Code Coverage Testing
  • [X ] Documentation Support in ComponentState's
  • [ ] Better Docs
  • [X ] Device Previews
  • [ ] Shareable Handoffs
  • [ ] Optimization

Contributors 🔥

Your name could be here 😉

Kategorien

Abhängigkeiten

Abhängigkeiten 8 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.