Orientação gerada a partir de informações públicas. Apenas para referência.
Helpers é um pacote Flutter/Dart projetado para simplificar códigos repetitivos e verbosos, oferecendo extensões intuitivas e legíveis para tarefas comuns. Ele aumenta a produtividade do desenvolvedor ao transformar declarações complexas ou tediosas em sintaxe limpa e expressiva. Ideal para agilizar a criação de widgets, gerenciamento de estado e lógica de interface, promove clareza e manutenibilidade no código. O pacote é leve e focado em melhorar a experiência do desenvolvedor sem adicionar sobrecarga.
Casos de uso
Simplificando a construção de widgets
Melhorando a legibilidade da lógica condicional
Simplificação da gestão de estado
Reduzindo o código repetitivo no código da interface do usuário
Melhorando a manutenibilidade do código
Principais recursos
Métodos de extensão intuitivos
Reduz a verbosidade do código
Melhora a legibilidade
Design leve
Foco na experiência do desenvolvedor
Indicado para
Desenvolvedores Flutter em busca de código mais limpo
Equipes priorizando a legibilidade do código
Projetos com alta repetição na lógica da interface
Desenvolvedores usando programação de estilo funcional
Considerações
Suporte limitado a plataformas (nenhuma plataforma especificada)
Depende de código-fonte externo
Pode exigir aprendizado de novos padrões de sintaxe
Mais adequado para projetos em que a clareza do código é priorizada
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
printPink("I'm an error 凸-_-凸", true);
printYellow("I'm an alert (¯―¯٥)");
printCyan("I'm an info (✿◠‿◠)");
printColor(
"I'm a weird boy ¯\\(°_o)/¯",
PrintColorStyle(
prefix: "Hola baby!",
foreground: Colors.green,
background: Colors.black,
underline: true,
bold: true,
italic: true,
),
);
printColor(
"Controller disposed!",
PrintColorStyle(
bold: true,
prefix: "HELPERS",
foreground: Colors.orangeAccent,
),
);
Misc Helpers
Misc Class:
It is a simplification of many instructions.
double milliseconds = 200;
//CALLBACKSMisc.onLayoutRendered(() {}); //HelperWidgetsBinding.instance.addPostFrameCallback((_) {});
//TIMER-ASYNCMisc.delayed(milliseconds, () {}); //HelperFuture.delayed(Duration(milliseconds: milliseconds), () {});
Misc.timer(milliseconds, () {}); //HelperTimer(Duration(milliseconds: milliseconds), () {});
Misc.periodic(milliseconds, () {}); //HelperTimer.periodic(Duration(milliseconds: milliseconds), () {});
awaitMisc.wait(milliseconds); //HelperawaitFuture.delayed(Duration(milliseconds: milliseconds), () {});
//TEXTText(Misc.loremIpsum());
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
Text(Misc.extendedLoremIpsum());
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." +
"Ut enim ad minim veniam, quis nostrud exercitation " +
"ullamco laboris nisi ut aliquip ex ea commodo consequat.");
//SYSTEM (NOTE: SystemChrome NEED IMPORT FLUTTER SERVICES)Misc.setSystemOverlayStyle(...); //HelperSystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(...));
Misc.setSystemOverlay(SystemOverlay.portraitUp); //HelperSystemChrome.setSystemUIOverlay([SystemUiOverlay.portraitUp]);
Misc.setSystemOrientation(SystemOrientation.values); //HelperSystemChrome.setPreferredOrientations(DeviceOrientation.values)
SystemOverlay Class:
This is a simplification of the List type: SystemUiOverlay statement. It is used for the Misc.setSystemOverlayStyle() statement.
IMPROVEMENT: By using the SystemOverlay you will not need to import SystemChrome, DeviceOrientation from the flutter services.
This is a simplification of the List type: DeviceOrientation statement. It is used for the Misc.setSystemOrientation() statement.
IMPROVEMENT: By using the SystemOrientation you will not need to import SystemChrome, DeviceOrientation from the flutter services.
It is a simplification of Navigator without BuildContext statement.
//If you will use BuildRoute, then need navigatorKeyMaterialApp(
navigatorKey: BuildRoute.key,
home: App(),
);
BuildRoute.to(page);
BuildRoute.goBack();
BuildRoute.toReplacement(page);
BuildRoute.toAndRemoveUntil(page);
BuildRoute.toTransparentPage(page); //NOTE: Push a Route with transparent backgroundBuildRoute.toNamedAndRemoveUntil("/");
BuildRoute.toNamed("/");
---
Size Helpers
Margin Class:
It is a simplification of the EdgeInsets statement.
It is an AnimatedBuilder. If it is TRUE, it will execute the Tween from begin to end (controller.forward()), if it is FALSE it will execute the Tween from end to begin (controller.reverse())