Package selection guidance compiled from public package information, community data, and project usage.
A Flutter package that provides a collection of reusable UI components, utilities, and styling tools to accelerate the development of visually appealing and feature-rich mobile applications. Designed with consistency and ease of use in mind, it offers pre-built widgets and helpers that streamline common tasks across Android, iOS, Web, macOS, Windows, and Linux platforms. Ideal for developers aiming to maintain design coherence while reducing boilerplate code.
Use cases
Rapid UI prototyping
Cross-platform app development
Consistent design system implementation
Reducing repetitive widget code
Streamlining theme and style management
Key features
Pre-built customizable widgets
Cross-platform compatibility
Theme and style utilities
Reusable UI components
Lightweight and modular design
Suitable for
Beginner to intermediate Flutter developers
Teams prioritizing design consistency
Projects requiring fast iteration
Apps targeting multiple platforms
Developers seeking to minimize boilerplate
Considerations
May require customization for highly specific designs
Depends on external dependencies not listed
Limited documentation beyond basic usage
Not suitable for extremely lightweight apps
Best used within larger application contexts
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Built-in i18n module is deprecated. Use Flutter official flutter_localizations + intl.
Global State Layout
// Global or local configurationComConfiguration(
config: ComConfig.defaults().copyWith(
emptyWidget: constComLoading(), // example only
loadingWidget: constComEmpty(), // example only
errorWidget: constComErrorWidget(), // example only
noNetworkWidget: (VoidCallback? onReconnect) => ComNoNetworkWidget(onReconnect: onReconnect), // example only
),
child: child,
);
// BaseWidget states use global config by default; can be customized locallyBaseWidget(
isConnected: isConnected,
status: LayoutStatus.loading,
loading: constComLoading(),
empty: constCustomEmpty(),
error: BaseWidget.errorWidget(context),
noNetwork: BaseWidget.noNetworkWidget(context),
onReconnect: (){},
child: child,
)
// State typesenumLayoutStatus {
loading,
success,
empty,
error,
noNetwork,
}
// Global helpersBaseWidget.loadingWidget(context)
BaseWidget.emptyWidget(context)
BaseWidget.errorWidget(context)
BaseWidget.noNetworkWidget(context)
...