Are you tired of writing the same Flutter boilerplate over and over?
Do you wish there was a cleaner, faster way to build beautiful UI without sacrificing flexibility?
Enter [mplix](https://pub.dev/packages/mplix)
— a Flutter package designed to simplify your code and let you build powerful apps with fewer lines.
With mplix
, you get a collection of production-ready extensions that make your widgets smarter, reusable, and just... fun to use!
**Why Mplix? — A Developer’s Problem
**Let’s be real: writing a Container
, adding padding, applying rounded corners, adding a gradient, or just logging something during debug... takes too many lines.
What if you could go from this:
Container(
height: 200,
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
color: Colors.white,
),
child: Text('Hello'),
);
To this:
Text('Hello').asCard(height: 200),
Clean, readable, and reusable. With mplix
, that’s the default.
How It Works - Let's Get Started
Using mplix is as simple as writing plain Flutter — but with superpowers. Once you install the package, you instantly unlock dozens of extensions that drastically reduce boilerplate and make your code more expressive.
Step 1: In Your pubspec.yaml
dependencies:
mplix: ^0.0.6
Run - flutter pub get
Step 2: Use Extensions to Simplify Your UI
Instead of writing widgets the long way:
Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
),
child: Text('Hello'),
);
You can now write:
Text('Hello').asCard(),
Render Beautiful Images Instantly
Want a nice rounded image card with just a path -
'https://picsum.photos/800/300'.asImageCard(height: 200, radius: 16),
Whether it's an asset, file, or network image — it just works.
🧩 All Built With Extension Methods
Mplix uses Dart's extension methods to make any widget smarter:
Add tap functionality using .onTap()
Animate easily with .fadeIn() or .tapScale()
Add spacing with 16.spacingY() or 8.spacingX()
Build cards, glassmorphism, gradients, and blur effects in one line
Try This Mini Demo
Column(
children: [
'https://picsum.photos/800/300'.asImageCard(height: 200, radius: 24),
16.spacingY(),
Text('Tap Me')
.asCard()
.onTap(() => context.showSnackbar('Hello from Mplix!')),
],
);
Text('Glass Card').asGlassCard(); // Frosted glass blur card
Image.asset('pic.png').clipRounded(12); // Clip with corner radius
Image.network(url).clipRounded(12).onImageTapPreview(context, imageProvider: NetworkImage(url)); // Zoomable full preview
'https://picsum.photos/800/300'.asImageCard(
height: 180,
radius: 20,
shadow: true,
onTap: () => print('Image tapped'),
), //resuable image card, (asset,network or file image)
🤖 Convert :emoji: Codes to Real Emojis
Need to add emoji support in user-generated content like chat messages, bios, or notes?
With Mplix, just use .withEmojis() on any string:
'I love :pizza: and :flutter:'.withEmojis();
// Output: I love 🍕 and 🐦
You can now let users type natural :emoji: codes, and your app handles the rest—no third-party libraries needed.
🗓️ Date & Time Utilities — Format in Style
Dealing with date formatting and time calculations in Flutter can be verbose and repetitive.
Mplix brings you intuitive extensions on DateTime and Duration so you can format and compare time with just one-liners.
DateTime.now().format(); // e.g. "26 Jun 2025"
DateTime.now().format('yyyy-MM-dd'); // e.g. "2025-06-26"
DateTime.now().short; // "26/06/25"
DateTime.now().time; // "01:15 PM"
DateTime.now().fullDateTime; // "26 Jun 2025, 01:15 PM"
Duration(seconds: 75).formatted; // "01:15"
Duration(minutes: 5).formatted; // "05:00"
🕵️ Smart Date Comparisons
myDate.isToday; // true if the date is today
myDate.isSameDate(anotherDate); // compares only day/month/year
🚀 And That’s Just the Beginning…
Mplix isn’t just about styling widgets — it’s about supercharging your Flutter experience from top to bottom.
Here’s what else you get:
🎯 Smarter Context = Cleaner Code
context.width // Instead of MediaQuery.of(context).size.width
context.height // Instead of MediaQuery.of(context).size.height
context.showSnackbar('Something went wrong');
context.showLoader(message: 'Please wait...');
context.divider // A themed divider
context.spacing(16)
Benefits
- Faster development
- Cleaner widget trees
- Reusable and composable
- Works with any existing Flutter project
- No learning curve — just shorter syntax
To know more about mplix visit : https://pub.dev/packages/mplix/example
If you find it useful:
🌟 Star the project on GitHub and hit like on pub.dev
🗣 Share feedback or feature requests
Mplix helps you focus on what you want to build, not how to structure boilerplate Flutter code.
Start using Mplix in your Flutter app with just a few lines of code — and let us take care of the heavy lifting behind the scenes.
Happy coding.