When to use Solidui
Solidui is a purpose‑built UI toolkit for Flutter that delivers a collection of polished widgets, animation helpers, and theming utilities designed to reduce the boilerplate of building beautiful, responsive interfaces. The package bundles common components such as cards, buttons, dialogs, and list items, each crafted with a focus on accessibility and performance. In addition to static widgets, Solidui provides animation primitives—fade, slide, scale, and custom curve helpers—that integrate seamlessly with Flutter's animation framework, allowing developers to add motion without writing repetitive animation controllers. By centralising visual language in a single dependency, Solidui helps teams maintain consistency across screens and platforms, making it easier to enforce brand guidelines and design systems.
When to adopt Solidui? If you find yourself repeatedly recreating standard UI patterns—like elevated buttons with custom shadows, card layouts with consistent padding, or animated page transitions—Solidui offers drop‑in replacements that are already optimised for both mobile and desktop form factors. The library shines in projects that target multiple platforms (iOS, Android, web, and desktop) because its widgets automatically adapt to screen size and platform conventions. For startups and MVPs, Solidui can dramatically cut development time, letting you focus on core business logic instead of pixel‑perfect UI details. In larger codebases, the package can serve as the visual foundation of a design system, providing a single source of truth for colors, typography, and motion.
From an architectural perspective, Solidui is deliberately agnostic. It does not prescribe a state‑management solution, routing approach, or backend integration, making it compatible with a wide range of Flutter architectures such as MVVM, Clean Architecture, or even simple widget‑tree‑only designs. You can wrap Solidui widgets in Provider, Riverpod, Bloc, or any other state manager without friction. The package also respects the ThemeData hierarchy, allowing you to inject custom color schemes or typography through the standard Flutter theming mechanism. This means you can keep Solidui at the presentation layer while your business logic lives elsewhere, preserving separation of concerns.
Getting started with Solidui is straightforward. After adding the dependency with the command `flutter pub add solidui`, you import the library and begin swapping out native widgets for their Solidui equivalents. The documentation includes a quick‑start guide that walks you through configuring a global theme, using the built‑in animation helpers, and customizing widget properties. For production‑grade apps, consider reviewing the package's null‑safety support and ensuring you are on Flutter 3.0 or later, as earlier SDK versions may lack required APIs. While Solidui is stable, keep an eye on the changelog for breaking changes when upgrading major versions, especially if you rely on custom animation curves or theme extensions.
For beginners, Solidui offers a gentle learning curve. The API mirrors Flutter's own widget conventions, so developers familiar with the framework can pick it up in minutes. Sample projects demonstrate common patterns like responsive grids, animated list insertion, and dark‑mode toggles. By leveraging Solidui’s pre‑built components, new developers can produce production‑ready UI screens without deep expertise in animation or design systems, accelerating onboarding and reducing the risk of visual inconsistencies. Whether you are building a simple portfolio app or a complex enterprise dashboard, Solidui provides the building blocks to create a cohesive, animated experience across all supported platforms.
Pros
- large collection of ready‑made widgets
- integrates with Flutter's theming system
- animation helpers reduce boilerplate
- cross‑platform consistency
- null‑safe and well‑documented
Watch outs
- adds an extra dependency to the project
- customisation may require overriding defaults
- major version upgrades could introduce breaking changes
Setup notes
Add the package to your project with: ``` flutter pub add solidui ``` Then import it in your Dart files: ```dart import 'package:solidui/solidui.dart'; ```
Solidui requires Flutter 3.0 or newer and supports Dart 2.17+. The package is null‑safe and works on iOS, Android, web, macOS, Windows, and Linux. Ensure your `minSdkVersion` (Android) is at least 21 for full animation support.
```dart
import 'package:flutter/material.dart';
import 'package:solidui/solidui.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: SolidTheme.light(),
darkTheme: SolidTheme.dark(),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: SolidAppBar(title: const Text('Solidui Demo')),
body: Center(
child: SolidButton(
label: 'Press Me',
onPressed: () => SolidToast.show('Hello from Solidui!'),
animation: SolidAnimation.fadeIn(duration: Duration(milliseconds: 500)),
),
),
);
}
}
```