패키지, 저장소 및 앱 카테고리 검색

패키지 상세v10.0.0

flutter_helper_utils

Flutter Helper Utils 패키지는 개발을 더 효율적으로 만들 수 있는 다양한 확장 및 보조 메서드를 제공합니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
1.3천
좋아요
48
Pub 점수
160

패키지 설치

flutter pub add flutter_helper_utils

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Flutter Helper Utils 패키지는 Flutter 개발을 간소화하기 위해 설계된 확장 및 유틸리티 메서드의 모음입니다. 문자열 조작, 날짜 포맷팅, 위젯 유틸리티와 같은 일반적인 작업에 편리하고 재사용 가능한 함수를 제공하여 생산성을 높입니다. 단순성에 중점을 두고 제작되어 여러 플랫폼에서 기존 프로젝트에 원활하게 통합됩니다. 경량 구조로 성능 영향을 최소화하면서도 개발자 효율성을 극대화합니다. 반복 코드를 줄이고 일관된 코딩 관행을 유지하려는 팀에게 이상적입니다.

사용 사례

  • 문자열 및 날짜 작업 간소화
  • 반복적인 위젯 코드 줄이기
  • 프로젝트 간 유틸리티 함수의 표준화
  • UI 개발 가속화
  • 코드 가독성 향상
  • 다중 플랫폼 일관성 활성화

주요 기능

  • 유용한 확장 기능의 광범위한 세트
  • 크로스 플랫폼 호환성
  • 최소 성능 오버헤드
  • pub를 통한 간편한 통합
  • 깔끔하고 읽기 쉬운 API 설계
  • 잘 문서화된 유틸리티 메서드

적합한 대상

  • 초보자에서 고급까지의 Flutter 개발자
  • 코드 표준화를 추구하는 팀
  • 빠른 프로토타이핑이 필요한 프로젝트
  • 반복 코드를 줄이려는 개발자
  • 다중 플랫폼을 대상으로 하는 앱

고려 사항

  • 사용하지 않는 기능이 포함되면 종속성 블로트가 발생할 수 있음
  • 확장 범위에 대한 신중한 검토가 필요합니다
  • 매우 전문적인 사용 사례에는 적합하지 않습니다
  • 제한된 사용자 정의 옵션
  • 다른 유틸리티와 함께 사용하는 것이 가장 좋습니다
  • 안정적인 Dart/Flutter 버전에 의존합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Flutter Helper Utils

flutter_helper_utils is a curated Flutter utility package focused on a few high-value areas:

  • adaptive UI and breakpoint helpers
  • color parsing, transformation, and accessibility utilities
  • typed list and sliver list widgets
  • focused BuildContext and UI extensions
  • dart_helper_utils re-exported for the Dart-only helpers that still fit the package surface
Flutter Helper Utils Logo

Version 9 intentionally makes the package smaller and more deliberate.

Documentation

Full documentation: https://omar-hanafy.github.io/flutter_helper_utils/

The site is built from site/ in this repository, so it ships with the package rather than trailing behind it.

AI coding-assistant support

This repository ships a package-specific agent plugin for Claude Code and OpenAI Codex (this is tooling for coding agents, not a runtime feature of the Flutter package). It teaches the agent the exact flutter_helper_utils APIs - breakpoint/adaptive-UI semantics, TypedListView contracts, color parsing and WCAG helpers, navigation and theme member names, the v8-to-v9 breaking migration, and version-aware upgrades.

Install in Claude Code:

/plugin marketplace add omar-hanafy/flutter_helper_utils
/plugin install flutter-helper-utils@flutter-helper-utils-tools

Install in OpenAI Codex (CLI; the IDE extension does not support plugins - use its $skill-installer there instead):

codex plugin marketplace add omar-hanafy/flutter_helper_utils
codex plugin add flutter-helper-utils@flutter-helper-utils-tools

Start a new agent session after installing so the skills load. Then try prompts like "make this screen adaptive with flutter_helper_utils breakpoints" or "migrate this app from flutter_helper_utils 8.x to 9.x", or invoke a skill explicitly in Claude Code, e.g. /flutter-helper-utils:use-flutter-helper-utils.

The plugin is installed from this Git repository (not from the pub.dev archive), contains markdown skills only - no hooks, no MCP servers, no telemetry - and its version tracks the package version. Details, the full capability list, updating, and uninstalling are in tooling/ai/flutter-helper-utils/README.md.

Install

dependencies:
  flutter_helper_utils: ^9.2.0

Imports

Most users should import the package once:

import 'package:flutter_helper_utils/flutter_helper_utils.dart';

If you only want the shortcut-heavy surface, use the opt-in sugar import:

import 'package:flutter_helper_utils/sugar.dart';

Notifiers

Notifier utilities were extracted from this package in v9.

If you need the old notifier-style workflows, use better_value_notifier

Highlights

Adaptive UI
runApp(
  const PlatformTypeProvider(
    child: MyApp(),
  ),
);

@override
Widget build(BuildContext context) {
  final breakpoint = context.watchBreakpoint;

  if (breakpoint.isMobile) {
    return const MobileLayout();
  }
  if (breakpoint.isTablet) {
    return const TabletLayout();
  }
  return const DesktopLayout();
}
PlatformEnv
final report = PlatformEnv.report();
final os = PlatformEnv.operatingSystem;
final locale = PlatformEnv.localeName;
final processors = PlatformEnv.numberOfProcessors;
Color Toolkit
final brand = tryToColor('#F97316') ?? Colors.orange;
final accent = tryToColor('rgb(14 165 233)') ?? Colors.blue;

final hex = brand.toHex(includeAlpha: true);
final readableText = brand.contrastColor();
final passesAA = brand.meetsWCAG(
  readableText,
  level: WCAGLevel.aa,
  context: WCAGContext.normalText,
);

Color parsing supports:

  • hex strings
  • rgb(...) and rgba(...)
  • hsl(...) and hsla(...)
  • hwb(...)
  • CSS named colors
Typed Lists
TypedListView<Product>(
  items: products,
  itemBuilder: (context, index, product) {
    return ProductTile(product: product);
  },
  spacing: 12,
  header: const Text('Products'),
);
CustomScrollView(
  slivers: [
    const SliverAppBar(title: Text('Products')),
    products.buildSliverList(
      itemBuilder: (context, index, product) {
        return ProductTile(product: product);
      },
      spacing: 12,
    ),
  ],
);
BuildContext and UI Helpers

Use context.popPage() for guarded back navigation and context.forcePopPage() when the current route should be removed directly.

context.pushPage(const DetailsPage());
await context.popPage();
context.showSnackBar(const SnackBar(content: Text('Saved')));
context.unfocus();

final theme = context.themeData;
final width = context.widthPx;
final height = context.heightPx;
Opt-in Sugar
final padding = 16.edgeInsetsAll;
final hSpace = 12.heightBox();
final radius = 24.allCircular;
final rawColor = 0xFFF97316.color;

0xFFF97316.color lives in sugar.dart, not in the main color toolkit.

Widgets

Included widgets and widget systems:

  • PlatformTypeProvider
  • PlatformInfoLayoutBuilder
  • BreakpointLayoutBuilder
  • TypedListView
  • TypedSliverList
  • GradientWidget
  • MultiTapDetector
  • ThemeWithoutEffects

Migration

Version 9 includes several breaking changes:

  • notifier utilities moved to better_value_notifier
  • deprecated Color.add* aliases removed
  • GradientWidget.gradientAlignment removed
  • explicit navigation naming finalized
  • focus helper naming finalized

For the full v9 migration guide, read migration_guides.md.

Example

The example app in example/ was rebuilt for v9 and acts as the current visual reference for the package surface.

License

MIT

카테고리

의존성

의존성 목록 3 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.