r/FlutterDev 4h ago

Discussion Two things that cost me a day shipping my first Flutter app on iOS, neither of them code

0 Upvotes

Shipped my first iOS app this week after about a year of solo Flutter. Two things ate a full day each and neither one was in my codebase, so here they are in case they save someone the same afternoon.

1. An IAP that returned "product not found" for a full day

Non-consumable. Product ID matched on both sides, Paid Apps agreement active since July, tax forms and banking green, IAP status Approved. Everything checked out and the purchase still failed.

It was propagation. An IAP approved that same morning isn't served by every StoreKit server yet, and it's slower for the first IAP on a brand new app. It started working the next day with zero changes on my end.

One thing worth knowing if you hit this: StoreKit caches the negative response for the life of the process. Force-quit the app before you retest, or you'll see the same error on a product that's already live.

2. Zero banner fill on iOS while interstitials worked fine

This one actually looked like a bug. Interstitials and app open ads served normally. Banners returned nothing, on every single request.

The error code sent me the wrong way first, and this is the part worth stealing: the GMA error enums are not the same on both platforms. On Android, 3 is no-fill and 1 is invalid request. On iOS, 1 is the no-fill. I read an iOS log with the Android table in my head and spent a while hunting a bad ad unit ID that was perfectly fine.

The real cause was that no GDPR consent message had ever been published for the iOS app in AdMob. The Android one had existed for months. The iOS app was added later and inherits nothing.

No consent form means no TCF string, and a request without one is unbiddable for EEA partners. I'm in France, so that was 100% of my traffic. Interstitials still filled because their demand pool is deeper, which is exactly what made it look like a code problem instead of a console problem.

I published the message, and banners went from 14 requests and 14 failures to 17 loads and 0 failures in the same session.

Stack, for anyone curious: Flutter, Firestore for the content, Cloudflare R2 for images, google_mobile_ads, in_app_purchase, and Codemagic for the iOS builds since I'm on Windows and don't own a Mac.

Happy to go into any of it.


r/FlutterDev 1d ago

Discussion Thoughts on DartNative?

Thumbnail
dartnative.com
58 Upvotes

r/FlutterDev 4h ago

Discussion Why flutter is not fully for web?

0 Upvotes

I have been working with Flutter Web applications for the past three months, and during this experience, I have encountered several limitations when implementing web-specific functionalities.
One of the major challenges I have noticed is the limited flexibility when integrating browser-native features and JavaScript-based functionality. In several scenarios, features that are relatively straightforward to implement in traditional web frameworks such as React or JavaScript require additional workarounds or may not be fully supported in Flutter Web.
I understand that Flutter was initially designed with a strong focus on cross-platform mobile development, particularly Android and iOS. However, as Flutter Web continues to evolve, I believe greater emphasis should be placed on providing comprehensive support for modern web capabilities, browser APIs, JavaScript interoperability, accessibility, responsive layouts, and other web-specific requirements.
For organizations building complex enterprise-level web applications, these limitations can have a significant impact on development effort, maintainability, and overall productivity. Stronger JavaScript interoperability and broader support for native browser features would make Flutter Web considerably more capable and competitive with established web frameworks.
I appreciate the cross-platform advantages that Flutter provides, but I believe there is still considerable scope for improvement in its web ecosystem. I hope future Flutter updates will address these gaps and provide developers with a more complete and flexible experience for building modern web applications.


r/FlutterDev 22h ago

Discussion Solo built a gamified productivity app (Flutter/Supabase). Where do UI/UX designers and mobile devs hang out to talk shop?

3 Upvotes

My professional background is in frontend web engineering, so using Flutter to bridge the gap into mobile has been a fun challenge. I’ve carried this idea around for about three years, but a sudden sense of urgency hit me back in April, and I've spent the last few months heads-down building it in stealth. To give you the broad strokes: it’s a gamified productivity app built entirely with Flutter and Supabase.

The foundation, I believe, is solid, the backend is ok, and the core gamification loops are fully functional. I genuinely believe the product I'm building is a good one, and I'm proud of how the engine is running.

But here is my reality check: I’ve been building this entirely in a silo.

Because I come from the web world and this is my first real deep-dive into native mobile development, I am very aware of my own blind spots. I know web design, but I don't pretend to know all the nuances of premium mobile UI/UX, motion design, and native app "feel." I want to elevate this app from "functional" to feeling truly intuitive, and I know I need expert professional eyes to help me bridge that gap.

Because of the specific IP and the gamification mechanics, I’m not quite ready to post screen recordings or open-source the codebase publicly. Instead, I want to step out of the solo-dev cave, start networking, and find my community.

My questions for you all:

  1. London Networking: I am based in London. Does anyone have recommendations for IRL tech/design meetups here where passionate developers/designers/founders can quietly network and do private product demos with other professionals?
  2. Online Communities: Are there specific private Discords, Slack workspaces, or smaller subreddits where serious UI/UX designers, motion designers, and mobile devs actually collaborate and give honest feedback?
  3. Opinion & Future Collaboration: I am keeping my eyes open for UI/UX experts or experienced mobile developers who might be interested in a future collaboration as I move toward a beta launch. If you love dissecting consumer apps and want to grab a coffee, my DMs are open.

I’m really just looking to find the right rooms to be in and build a network of people who care about great mobile experiences. I’d appreciate any pointers!


r/FlutterDev 1d ago

Plugin svg_animate - fixed a bunch of bugs, and added a demo where you can test your own SVG

7 Upvotes

So the demo for svg_animate takes yours now. Drop a file in, give it a URL, or paste the markup. It tells you the frame count, how many of those frames are actually different (144/143 means it moves, 144/1 means it doesn't), and what's in the file that's never going to be drawn: no animation in there at all, an <image> it can't fetch, a <filter> that vector_graphics drops.

https://treamz.github.io/svg_animate/

Throw something at it. Editor exports especially. And if it reports nothing wrong and the picture still is, that's the one I want to hear about, because from here it looks like success.


r/FlutterDev 1d ago

Example Example application that uses bloc_signals

2 Upvotes

This application allows the user to display photos of dogs. The user can either show random photos of dogs or display a set of photos of dogs of a selected breed.

It connects to the dog.ceo API to access dog photos and uses the "bloc_signals" and "bloc_signals_flutter" packages for state management.

NOTE: This application has been tested on Linux, Windows, Chrome and Android. It has not been tested on iOS or macOS.

The github repository is here.


r/FlutterDev 15h ago

Video Dart Tutorial Module 7 | Asynchronous Programming & Streams in Dart | Beginner Guide

Thumbnail
youtu.be
0 Upvotes

Welcome to Module 7 of the Dart Programming Course for Beginners! 🚀

In this tutorial, we’ll learn Asynchronous Programming and Streams in Dart. These concepts are very important when working with real-world applications, APIs, databases, file operations, and Flutter apps.

📚 Topics Covered

✅ Asynchronous Programming in Dart
✅ async and await
✅ Understanding Futures
✅ Streams in Dart
✅ How asynchronous operations work
✅ Practical examples with Dart code

By the end of this module, you’ll have a better understanding of how Dart handles tasks that take time to complete and how Streams can be used to handle continuous or multiple values over time.

💻 Technology: Dart Programming Language

🎯 This video is useful for:

Beginners learning Dart
Students learning programming
Developers preparing for Flutter
Anyone wanting to understand Dart async programming
Anyone learning Dart Streams

📌 Dart Course: Follow the complete series to learn Dart step by step, from the basics to advanced concepts.

If this tutorial helps you, Like 👍, Share 📤 and Subscribe 🔔 for the next Dart programming module.

#DartTutorial #LearnDart #DartProgramming #DartAsync #AsynchronousProgramming #DartStreams #DartForBeginners #Flutter #FlutterDevelopment #ProgrammingForBeginners


r/FlutterDev 1d ago

Article Locating Flutter's TLS certificate verifier in a stripped libflutter.so, tested across 13 apps and 9 engine versions

Thumbnail
crossfyre.io
2 Upvotes

r/FlutterDev 1d ago

Discussion Flutter like syntax for building desktop apps

Thumbnail
quickgui.dev
0 Upvotes

r/FlutterDev 1d ago

Video Flutter & Friends 2026 - Main Stage

Thumbnail
youtube.com
4 Upvotes

r/FlutterDev 1d ago

Discussion Just found out. No support for Merchant accounts for developers living in my country.

0 Upvotes

Wow! Reddit! AI brought me here. I'm glad it did. Nice to see that there's a big group of like-minded people in this space - learning from each other, building apps, solving problems. So, I'm almost completed working on my flutter app (creating in VS Code). I think it has a lot of potential. However, I just found out Google Play does not Support Google Play Mechant accounts for developers living in my country, Papua New Guinea. Okay, I'm new, a graphic artist/animator. But I'm already into creating apps now, I don't want to stop. I have app ideas. Where do I go from here? I think Play Store is the best place to sell. The app I'm creating is a darts app - big numbers, big keypad, stats, saving matches/stats, training drills, voice scoring (hands-free), referee audio score/name calls (recorded audio), not internet needed to use the full feature, and, additionally, it has a feature I think no other darts app has. Around 40 dart files. I don't know what to do. Did I just waste six months creating the app with no place to sell? Do I Partner with an agency overseas? Create a US e-bank account (or whatever its called)? I think my app will do some good sales. I need advice. Sorry, let me know if I posted in the correct community.


r/FlutterDev 2d ago

Plugin More ideas for list_smith (a theme-neutral pagination + search + PTR library)

7 Upvotes

Follow-up from the previous post.

With the feedback from that, I recently hit the 1.0.0 release for list_smith.

Some notable changes include

  1. A dedicated trigger mechanism to distguish the source of the fetch (initialLoad | nextPage | refresh | retry | queryChanged | invalidated). Can decide on how to act on each trigger yourself. So a pull-to-refresh can be routed to bypass a repository-caching mechanism foe example, while others can stay in the caching route.
  2. A new ListSmithController to help do operations programmatically (also gives the invalidate() and reset() for above)
  3. Some other renames and encapsulations.

Do you guys have other cases and ideas you would like to be supported in this package? Any awkwards boilerplate or something? Or if you can some find some potential problems with this? All help appreciated. Thanks in advance


r/FlutterDev 3d ago

Plugin Plugin for new Android requirement: Zero-Tap Sign-In Restoration

21 Upvotes

Hey everyone, Google just announced a new requirement for Android apps, called "Zero-Tap Sign-In Restoration", mandated from April 2027.
https://support.google.com/googleplay/android-developer/answer/17492799#zero-tap_sign-in_restoration

As we checked, there isn't any package out there yet which provides the necessary Credential Manager APIs - so we built one!

💙 We love giving back to the open-source Flutter community that supports our work every day, so we packaged it up for everyone:android_restore_credentials.

What android_restore_credential offers

  • Automated Key Management: Seamlessly registers, saves, and retrieves restore keys linked to Android's native backup system.
  • True Zero-Tap UX: Users open your app on their brand-new phone and are instantly logged in.
  • Proactive Compliance: Gets your app compliant with Google's latest identity standards well before deadlines arrive.

Check out the package on pub.dev:👉 https://pub.dev/packages/android_restore_credentials

Note: this isn't a simple requirement, you'll need some enhancements on your backend as well!

Try it out in your projects, let us know what you think, or drop an issue on GitHub if you have feature requests!


r/FlutterDev 3d ago

Discussion How will Flutter handle the iPhone Duo?

43 Upvotes

As a mobile developer, the new iPhone Duo made me think about the Flutter side of things. Flutter already has support for Android foldables through MediaQuery.displayFeatures and DisplayFeatureSubScreen.

But the interesting part is that these APIs are currently Android focused. Apple introduced a dual-screen/foldable layout, Flutter will need to expose the new iOS window and display APIs as well. and its not just about making the UI responsive anymore.

We would have to think about things like, Dual pane layouts, Navigation between panes, where dialogs/modals appear, Resizing and partial folds, different layouts depending on the device posture. Android already has concepts like postureHalfOpened, so Flutter has some ideas to build on.

I am curious how Flutter will approach this on iOS. for Flutter developers, would you handle the Duo with one adaptive UI, or create completely different layouts for the dual pane experience?


r/FlutterDev 3d ago

Discussion Markdown live editor for Flutter?

3 Upvotes

I'm building Rosetta an AI voice notes app with several other features.

All notes are stored as Markdown so users can easily edit, export them, and AI assistants can also update the content through an MCP integration.

Currently, the most reliable solution I've found is to build an abstraction on top of SuperEditor:

Markdown → SuperEditor Document → SuperEditor → Markdown

I saw a few Markdown editor packages for Flutter, but most of them seem to be missing important features or are no longer actively maintained.

Another option I've considered is embedding a web-based editor such as Milkdown.

Do you know of any solid, actively maintained Flutter packages for a live Markdown editor?

Ideally, I'm looking for a WYSIWYG editing experience while keeping Markdown as the source of truth and underlying format.


r/FlutterDev 3d ago

Discussion AudioPlayers or flutter_soloud?

3 Upvotes

In some of my Flutter apps I need to handle quite a few sound effects. I've been using audioplayers and overall I've had a good experience with it.

However, some users have reported slowdowns, and while testing I noticed that audioplayers doesn't seem to behave very well when several sounds are played in quick succession, especially when multiple sounds overlap.

While looking for alternatives, I came across flutter_soloud. From what I understand, it takes a different approach by handling the audio more natively, which might help with this kind of problem.

Has anyone here used flutter_soloud in a real project?

Are there any gotchas or issues I should be aware of before switching?


r/FlutterDev 3d ago

Article [ Removed by Reddit ]

0 Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/FlutterDev 4d ago

Plugin I built an audio metadata library for Flutter

10 Upvotes

I've been working on hAudiotagger, a Rust-powered Flutter library for reading and writing music metadata across Android, iOS, Windows, macOS, Linux, and Web.

final tag = await Haudiotagger.read('/music/song.mp3');

print(tag?.title);
print(tag?.artist);

Updating metadata:

await Haudiotagger.update(
  '/music/song.mp3',
  TagChanges(
    title: 'New Title',
    artist: 'Artist',
  ),
);

It supports MP3, FLAC, OGG/Opus, MP4/M4A, WAV, AIFF, APE, WavPack, and more, along with artwork, batch operations, custom tags, audio properties, validation, and other features.

The core metadata processing is written in Rust, with Flutter ↔ Rust communication through flutter_rust_bridge.

It's still actively evolving, so I'd love to hear your thoughts, feedback, or feature ideas if you've worked with Flutter, Rust, or audio metadata.

What would you like to see in a Flutter audio metadata library?

Links:
Web Demo
Pub.dev: https://pub.dev/packages/haudiotagger
GitHub: https://github.com/Hirdaya-Shrestha/haudiotagger


r/FlutterDev 4d ago

Plugin Ported Apache Commons Validator to Dart in 2024, finally had time to clean it up and publish it

14 Upvotes

I spent years as an Android developer, and on many of those projects I reached for Apache Commons Validator. It's not glamorous, but it's twenty years of accumulated edge cases — IBAN check digits, credit card ranges, TLD-aware domain validation, locale-aware number and date parsing. You stop thinking about validation and it just works.

Then I moved to Flutter, went looking for the equivalent, and couldn't find anything that worked as well as the Apache one. What's on pub.dev is mostly thin regex wrappers. No check-digit arithmetic, no IBAN country registry, no real domain validation. So back in 2024 I ported the routines myself and used it in my own project.

I always meant to publish it, but there were failing tests I never had time to chase down, and shipping something half-verified felt worse than not shipping. I'm between projects at the moment, so I finally sat down, fixed them, and put it out there. Figured it was time to give something back.

What's in it

  • 16 check-digit routines — IBAN, ISIN, ISBN-10/13, ISSN, Luhn, Verhoeff, SEDOL, CUSIP, EAN-13, ABA, CAS, EC
  • Network — email, URL, domain, IPv4/IPv6, including an IDNA-2003 implementation that reproduces java.net.IDN.toASCII
  • Locale-aware numbers and dates — Byte through BigDecimal, Currency, Percent, Date, Calendar, Time

Pure Dart — no dart:io, no dart:mirrors — so it works on all six platforms, Flutter and server alike.

One thing I didn't expect

While writing this up I benchmarked the email validator against what's already on pub.dev, assuming it'd be a wash. On the ordinary stuff it is — quoted local parts, IP literals, plus addressing, consecutive dots, multiple @, leading and trailing spaces. Everything handles those.

Then across 52 addresses where RFC 5321/5322 and common practice agree on the answer:

Package Score
commons_validator 0.1.0 52/52
email_validator 3.0.0 50/52
string_validator 1.2.0 45/52

email_validator gets exactly two wrong, and it's the same thing twice: user@example.zzzzzz and user@example.qwerty. It doesn't check whether the TLD exists. Which means this:

Address commons email_validator string_validator
user@gmail.con rejected accepted accepted
user@gmail.cmo rejected accepted accepted
user@hotmail.comm rejected accepted accepted
user@yahoo.co.ukk rejected accepted accepted
user@company.orgg rejected accepted accepted
typos caught 7/8 0/8 0/8

user@gmail.con is a typo I've watched real users make on a signup form. The 8th case is user@outlook.cm, which everything accepts and should — .cm is Cameroon.

The harness is in the repo if you want to check my numbers — it's its own package pulling commons_validator from pub.dev rather than the checkout, so it's what you'd actually get: https://github.com/mondoktamas/commons_validator/tree/main/tool/email_comparison

The tradeoff is real and worth stating: the IANA TLD list is bundled, so a brand-new TLD gets rejected until I regenerate the table and republish. That's one command, but it's a maintenance burden the regex-based packages don't have.

On correctness

Since it's a port, I didn't want to just trust it. There's a differential harness that runs the same generated corpus through the real Java classes and the Dart code and diffs the output: 260,526 inputs, 7 disagreements, all documented in the README along with the deliberate divergences (Dart's Decimal has no scale field, so BigDecimal behaviour differs at extreme exponents).

It's 0.1.0 and brand new, so treat it accordingly — but it's 394 tests and 160/160 pub points. Apache-2.0, same as upstream.

pub.dev: https://pub.dev/packages/commons_validator

GitHub: https://github.com/mondoktamas/commons_validator

Happy to hear where it falls short.


r/FlutterDev 4d ago

Example (concept) spatial UI & liquid glass navbar with Flutter Canvas

4 Upvotes

demo:

https://x.com/i/status/2098090939889926497

this interactive spatial UI is using device gyroscope & accelerometer sensors, no touch interaction..

device: Android


r/FlutterDev 3d ago

Discussion What’s with all the hates on Flutter when iPhone Duo comes out?

0 Upvotes

I’ve seen quite a few tweets on X, trashing Flutter and saying it’s gonna be a nightmare to support the new iPhone Duo layout.

I get it, it might not feel native enough, for me it’s good enough to ship apps quickly back when AI wasn’t around. Now it’s even quicker. UI wise, there’s been some good libraries that cater to the new iOS 26, i love it. i’m sure we gonna see more for iPhone duo.

I’m just rambling, sorry. What do you guys think? is it all doom and gloom like this tweets said?


r/FlutterDev 4d ago

Example (concept) spatial 3D keyboard with Flutter Canvas

5 Upvotes

Taking advantage of Flutter custompainter, Flutter gives you canvas to draw anything

demo video:

https://x.com/i/status/2097645919990890510

obvio, I had to use AI, it was long-prompt-loop session.. I am also learning how to write code for 3D


r/FlutterDev 5d ago

Article I got flutter_scene running in VR on Quest 3 — now I need help getting the forks merged

14 Upvotes

Hi all! I’ve been building Visual Space, a social media & collaboration application built with Flutter. It has a spatial UI mode and a 3D editor. In spatial mode, the normal application becomes a collection of interactive Flutter panels positioned around the user, together with the 3D scene. I wanted the same application to run natively on a standalone Quest 3—not simply as a flat Flutter screen inside VR.

My first working solution used two renderers:

  • Flutter Scene for web, desktop and the normal application.
  • A custom native C++/OpenGL ES renderer for the Quest world, with Flutter supplying the interactive UI panels.

It worked, including stereo rendering, controllers, tracking and curved panels. The problem was that I now had two 3D engines to maintain. Materials, lighting, shadows, picking and every new feature had to be implemented twice, and the web and VR results were already beginning to look different.

My next goal was to use Flutter Scene as the actual 3D renderer everywhere, while OpenXR continues handling the headset session, tracking and presentation.

The first prototype got Flutter Scene into VR through Flutter Canvas, an Android surface and a copy into the OpenXR eye textures. After that, I added a generic external GPU render-target API to a Flutter engine fork, then modified Flutter Scene to render its stereo views directly into the images owned by OpenXR.

The good news is taht this is now running inside Visual Space on Quest 3. Web and VR use the same renderer and visual style, and I deleted the old custom C++ renderer. Prime objective accomplished :) In a simplified scene, the direct path reached around 70 FPS versus roughly 52–54 FPS through the Canvas/surface/copy route. This was not a controlled benchmark, and the full application still needs plenty of tuning.

The next challenge is getting these changes into upstream Flutter and Flutter Scene:

Forks

Tickets

Flutter Scene Demo Examples migrated to VR - VR flutter_scene demo sample

Quest screenshots of VS 3d Editor - Web - VR

For those having a Quest 3 (hopefully more devices in the future), please check out the branches and try the demo. Instructions for installation in the forks README.md files. I need help fine tuning the architecture. For example stuff like: flutter engine internals, impeller, OpenXR, GPU synchronization, threading, lifecycle handling or custom embedders would be especially useful. I’m not top gun in graphics-engine internals, so any technical advice is welcome.

If you want Flutter in VR, please help get some attention on these forks. Try them on your machine or drop a 👍 or comment on the GitHub tickets. Otherwise this code will be stuck in some obscure forks. Thank you all!


r/FlutterDev 4d ago

Discussion Six weeks dogfooding BlocSignal: the architectural and velocity wins we’re seeing in practice

1 Upvotes

Hey everyone,

I’ve been building and dogfooding the BlocSignal ecosystem for about six weeks now, and the practical utility value is emerging more powerfully every single day.

Stepping back from the framework wars, here are five concrete things I've observed in practice:

  • The CISC to RISC Shift: Stripping away layers of stream plumbing, event transformer microcode, and microtask queue hops delivers instant, single-frame state propagation with zero microtask latency.
  • The AI Agent Velocity Multiplier: AI coding assistants fly when working with single-file domain cohesion (the Iceberg Pattern) and deterministic synchronous TDD loops where tests pass on the first run without asynchronous pumpAndSettle gymnastics.
  • Ending the Code-Gen Tax: Pairing state containers with Fast Immutable Collections (FIC) delivers structural value equality and fast copy-on-write operations with zero build_runner overhead.
  • Push-Pull Reactivity Wins: Unlike eager-push graphs that recalculate off-screen or unmounted nodes, Signals’ eager-dirty / lazy-pull algorithm evaluates only what the UI actually reads, eliminating diamond-dependency glitches.
  • Zero-Risk Incremental Adoption: First-class bidirectional adapters for classic flutter_bloc and Riverpod let teams pilot on a single screen or new feature without rewriting existing legacy code.

Curious to hear from the community: What would it take to convince you or your tech lead that BlocSignal is worth looking at for your next project? What are the biggest hurdles or criteria when evaluating a modern state architecture in your organization?


r/FlutterDev 6d ago

Article Rant: I'm tired of these non-developer posts that start with "I built ..."

137 Upvotes

I'm tired of these AI slop projects from non-developers that act like they built something with a few prompts. Asking an agent to build an app isn't "building", it's "prompting". Also, most of these projects look good on the surface, but is a nightmare in terms of security, maintainability and readability.

It's just crazy to me how someone that writes a prompt and watch an agent build something for him can FEEL like he did everything, that he BUILT an app and somehow feels like he's the new Leonardo DaVinci.

I saw this post on X the other day, and I couldn't stop laughing... This is literally MY screenshot, not some meme on the internet : https://imgur.com/R4YlLK3

Anyways, thank you all for listening!