Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.1.9

flutterbook

Uma ferramenta de storyboard para acelerar o desenvolvimento de widgets do Flutter.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
235
Curtidas
42
Pontos Pub
130

Instalar pacote

flutter pub add flutterbook

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

FlutterBook é uma ferramenta de storyboard projetada para acelerar o desenvolvimento de widgets do Flutter, permitindo o design de UI baseado em componentes. Permite que desenvolvedores e designers visualizem, testem e iterem sobre widgets individuais em isolamento, com visualizações em tempo real em múltiplas plataformas. Criado para prototipagem rápida, oferece configuração dinâmica e gerenciamento de estado dentro de uma interface visual. A ferramenta se integra perfeitamente ao fluxo de trabalho do Flutter com um simples comando pub add e é de código aberto, incentivando contribuições da comunidade. Ideal para equipes focadas em componentes UI consistentes e reutilizáveis.

Casos de uso

  • Prototipagem rápida de UI
  • Desenvolvimento da biblioteca de componentes
  • Testes de widget multiplataforma
  • Implementação do sistema de design
  • Revisões colaborativas de UI

Principais recursos

  • Visualização em tempo real entre plataformas
  • Configuração de widget interativo
  • Suporte para vários tamanhos de dispositivos
  • Gerenciamento de estado embutido
  • Open-source e extensível

Indicado para

  • Designers de UI/UX trabalhando com Flutter
  • Desenvolvedores front-end criando componentes reutilizáveis
  • Equipes que usam um sistema de design
  • Equipes de produtos iterando em protótipos de UI
  • Desenvolvedores em busca de ciclos de feedback mais rápidos

Considerações

  • Requer integração em projeto Flutter existente
  • Limitado à visualização de nível de widget
  • Não é uma ferramenta de design completa como o Figma
  • Mais adequado para fluxos de trabalho focados em componentes
  • Pode ser necessário configuração adicional para estados complexos

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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 😉

Categorias

Dependências

Lista de dependências 8 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.