It was just another regular day at the office. The sun was blazing outside, the AC was fighting hard inside, and my stomach had already started growling long before noon.
As I stood up from my desk, my colleague Shadman Sakib, a Senior Software Engineer at Vivasoft Limited, joined me on the way to lunch. Between small talk and food cravings, he suddenly hit me with a question I hadn’t expected:
“Hey, Al-Amin, iOS 26 just launched Liquid Glass. You think we can do that in Flutter?”
I paused. Chewed my thoughts more than my food. And said the first thing that came to mind:
“Hmm… maybe through a method channel? Or we could fake it using custom blur and transparency. Or just wait until the Flutter team supports it natively?”
He grinned. “You ever tried using Platform Views?”
And just like that, our chicken curry discussion turned into deep dive into iOS internals, Flutter rendering, and hybrid UI techniques.
So, What Is Liquid Glass?
If you missed WWDC 2025, Apple introduced a sleek new visual style: Liquid Glass.
It’s not just another blur. It’s reactive. Dynamic. It bends and refracts content behind it. It adapts to ambient light. It’s part science fiction, part UI design.
Apple made it easy to implement in SwiftUI or UIKit using their new materials and view modifiers like .glassEffect()
.
But in Flutter?
That’s where things get tricky.
Our First Thoughts: The Obvious Options
As we munched through our lunch, we ran through the options:
Method Channel
Write native Swift code for a UIVisualEffectView
, call it via a method channel. That works… but doesn’t integrate cleanly with Flutter’s UI tree.
Custom Flutter UI
Use BackdropFilter
, ImageFilter.blur
, semi-transparent containers. That’s the good old Flutter way. Impeller makes it smoother. But still, it’s not true “Liquid Glass” there’s no refraction, no native responsiveness.
Wait for Flutter Core Support
We could wait until the Flutter team officially supports iOS 26’s new materials. But… who knows when or if that’ll happen?
That’s when Shadman bhai repeated:
“Have you checked out Platform Views?”
Platform Views: The Hidden Power Tool
That evening, I opened up the Flutter documentation on iOS platform views and had a whoa moment.
Turns out, you can host native iOS views inside Flutter apps through Hybrid Composition using UiKitView
.
So yeah, that UIVisualEffectView
? We could wrap it as a native view and render it inside Flutter. Here’s the idea:
Dart Side:
return UiKitView( viewType: 'liquid-glass-view', creationParams: <String, dynamic>{}, creationParamsCodec: const StandardMessageCodec(), );
Swift Side:
func createNativeView(view _view: UIView){ let blurEffect = UIBlurEffect(style: .systemUltraThinMaterial) let blurView = UIVisualEffectView(effect: blurEffect) blurView.frame = _view.bounds blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight] _view.addSubview(blurView) }
Just like that, we’re using real native Liquid Glass in Flutter.
Pros & Cons We Discovered
The Good
- True native feel — it’s the real
UIVisualEffectView
. - Responsive to motion, light, and background content.
- Works right now — no need to wait for Flutter updates.
The Trade-offs
- Performance: Platform views are composited outside Flutter’s main rendering engine. You might see Jank on older devices.
- Limited composition: You can’t apply
ShaderMask
,ColorFiltered
, or complex animations over them. - Complexity: More setup, more native code, more chances to break.
Should We Use Platform Views for Liquid Glass?
Here’s how we broke it down after a few days of experimentation:
- Small elements like buttons, cards, headers: Use Platform Views
- Full-screen background blur: Maybe test performance first
- Cross-platform UI: Stick to pure Flutter shaders
- Dynamic, realistic iOS-only design: Go native with Platform Views
Final Thoughts
That one question from Shadman bhai over lunch sparked a chain of curiosity that led me to dig deeper into one of Flutter’s most powerful but underused features.
Flutter is known for painting its own pixels and doing things its way. But sometimes, when the native platform has something truly magical like Liquid Glass you just have to reach out and grab it.
And that’s what Platform Views allow you to do.
Bonus: What I’d Like to See Next
- Flutter SDK support for native materials via
CupertinoGlassView
. - Simplified wrappers for platform views.
- Maybe a community plugin:
liquid_glass_flutter
?
Your Turn
Have you tried building dynamic UIs like Liquid Glass in Flutter? Used Platform Views before? Share your experience I’d love to learn from it.
Top comments (0)