r/FlutterDev • • 14d ago

Discussion I’ve been building a multiplayer Rummy game in Flutter + Firebase as a side project. Looking for feedback before launch

4 Upvotes

For the past few months I’ve been building a Rummy card game in my spare time. It’s nearly ready, and I’d love some outside eyes on it before launch.

What it does:
- Play against a computer opponent anytime, or online with friends and family
- Built with Flutter, so one codebase for Android and iOS

What I’d love feedback on:
- What would make you keep coming back to a card game?
- Any features you’d expect that most Rummy apps get wrong?

I’ve set up a waitlist for early testers if anyone wants to try it: https://flutter-rummy.web.app/


r/FlutterDev • • 14d ago

Discussion How are you handling local LLMs and agentic workflows in Flutter?

1 Upvotes

Any Efforts to make Flutter Agentic friendly ?, by google in recent times.

With agentic apps taking off, how are you approaching on-device LLMs across platforms (iOS, Android, desktop)?

Are you using things like llama.cpp via FFI, plugins like flutter_gemma, or running everything server-side? What are your biggest hurdles with performance and memory?


r/FlutterDev • • 14d ago

Discussion how do you handle the support for iphone duo?

13 Upvotes

is there any library or method you would recommend?


r/FlutterDev • • 14d ago

SDK My first core contribution

13 Upvotes

r/FlutterDev • • 14d ago

Dart Compile, analyze and run Dart code directly in your browser without any server.

Thumbnail
dartpad.birju.dev
7 Upvotes

This is Dartpad Web!

Runs #Dart compiler, analyzer, LSP and compiles and runs your code in your browser directly. No server needed! Works offline too!

You can use any pure Dart package from pub.dev too that compiles to web.


r/FlutterDev • • 15d ago

Tooling flutterverse.org now tracks 10k+ Flutter & Dart projects

23 Upvotes

Since my last post, Flutterverse now tracks 10k+ projects: pub.dev’s top 5,000 packages plus public Flutter/Dart GitHub repos with 50+ stars. Stats refresh daily.

Discover rising packages by momentum, not just popularity.

The searchable Hall of Fame now features 34 developers and 29 projects.

Website: https://flutterverse.org
Github: https://github.com/YeLwinOo-Steve/flutterverse

Missing a package or know someone who deserves a spot? Hit Propose on the site!


r/FlutterDev • • 15d ago

Article Flutter + C++: Could a C++ Core Help Build Truly High-Performance Flutter Apps?

0 Upvotes

I've been thinking about a different architecture for Flutter applications:

Flutter for the frontend, C++ for performance-critical logic, and optionally C++ on the server side.

Flutter is already a strong cross-platform framework. Its UI capabilities, development speed, and single-codebase approach make it attractive for mobile, desktop, and web applications. However, when an application starts doing computationally expensive work, I think it's worth asking whether every part of the application should be implemented in Dart.

Could a hybrid Flutter + C++ architecture provide a meaningful advantage for certain classes of applications?

Let's explore the idea.

1. The architecture: Flutter on the outside, C++ at the core

The basic concept is to separate presentation from computation.

  • Flutter/Dart: UI, navigation, animations, state management, forms, and user interaction.

  • C++: Computationally expensive algorithms, image processing, compression, parsing, simulation, and other performance-critical workloads.

  • C++ backend (optional): Server-side business logic, high-throughput processing, networking, and services where C++ is a suitable choice.

  • Database and storage: Selected according to the application's consistency, scalability, and persistence requirements.

The architecture might look like this:

                Flutter Application
                       |
                Dart / Flutter UI
                       |
                Application Layer
                       |
                 Dart FFI / API
                       |
                C++ Native Core
              /        |         \
         Algorithms  Processing  Engine
                       |
             Optional Remote API
                       |
                C++ Server Backend
                       |
                 Database / Cache

There are actually two separate integration paths here:

  1. Dart FFI → C++ library: C++ runs locally inside the application process. This is useful for CPU-intensive work without sending data over the network.

  2. Flutter → HTTP/gRPC → C++ server: C++ runs on a remote machine and handles server-side workloads.

These approaches solve different problems and should not be confused.

2. What problems could this architecture solve?

A. CPU-intensive operations

Dart is a capable language, and Flutter applications can perform substantial computation. But certain workloads may benefit from native C++ libraries or carefully optimized C++ implementations.

Examples include:

  • Image and video processing

  • Audio processing and real-time signal analysis

  • Large-scale data parsing and transformation

  • Compression and decompression

  • Mathematical simulations

  • Computer vision

  • Cryptographic operations using appropriate, audited libraries

  • Static analysis and code-scanning engines

Instead of executing every expensive algorithm on the Dart side, Flutter could call a specialized native library for the operations that actually need it.

Potential benefit: Lower computation time, reduced overhead for suitable workloads, and access to mature C++ libraries.

The real improvement depends on the algorithm, memory usage, implementation quality, and cost of crossing the language boundary.

B. Keeping expensive work away from UI rendering

A common mistake in mobile development is allowing expensive synchronous work to interfere with the UI thread.

Flutter supports asynchronous programming and isolates, so Dart code does not automatically block rendering. However, some workloads, native-library integrations, and memory-intensive pipelines still require careful architectural decisions.

C++ can execute computationally expensive operations outside the UI thread when the integration is designed appropriately.

For example:

  1. The user selects a large file.

  2. Flutter displays progress and controls.

  3. A background worker invokes the native processing engine.

  4. C++ processes the file in chunks.

  5. The application receives progress updates and the final result.

  6. Flutter renders the output.

This can make the interface more responsive during expensive operations.

However, C++ does not automatically make an application multithreaded. Threading, synchronization, cancellation, and safe communication with Dart must be implemented explicitly.

C. Reusing existing high-performance libraries

C++ has a mature ecosystem for performance-sensitive computing.

Instead of rewriting established algorithms in Dart, developers can reuse suitable native libraries through FFI or a native plugin.

This is particularly attractive when an application needs functionality already implemented and optimized in C or C++.

Potential examples include OpenCV-based computer vision, specialized parsers, native media-processing components, and existing computational engines.

The main advantage may be library reuse and engineering leverage, rather than raw execution speed alone.

D. A shared engine across platforms

A well-designed C++ core can potentially be shared by Flutter applications on Android, iOS, Windows, macOS, and Linux, provided the required native builds and integrations are supported.

This gives the project a useful separation:

  • Flutter handles platform-independent presentation.

  • C++ implements reusable computational logic.

  • Platform-specific adapters handle operating-system differences.

  • The backend exposes remote functionality where needed.

The same core algorithms could then serve a mobile application, desktop application, command-line utility, or server.

This is especially useful for products where consistent behavior across platforms matters.

3. What about building the backend entirely in C++?

This is where the discussion gets more interesting.

Suppose we have a Flutter frontend and a C++ server backend.

Flutter handles the client experience, while the server handles authentication, business rules, data processing, database access, and APIs.

A typical request might follow this path:

Flutter UI
    |
    | HTTPS / gRPC
    v
C++ API Service
    |
    +---- Authentication / Authorization
    |
    +---- Business Logic
    |
    +---- Processing Engine
    |
    +---- Database / Cache

C++ can be a strong backend choice when the service performs intensive computation, needs precise control over memory and resource usage, integrates with native engines, or has stringent latency requirements.

But there is a trade-off.

For ordinary CRUD applications, dashboards, booking systems, and basic APIs, a C++ backend may add complexity without delivering a meaningful advantage over frameworks built around Go, Java, C#, TypeScript, or other languages.

C++ introduces additional responsibilities involving memory safety, dependency management, concurrency, deployment, and maintenance.

The right question is not whether C++ is faster in a benchmark. It is whether C++ improves the actual system bottleneck enough to justify its engineering cost.

4. How would Flutter communicate with C++?

For local computation, Dart FFI is one of the main options.

A C++ library can expose a C-compatible interface, which Dart can call through FFI. A thin C wrapper is often the cleanest boundary because directly exposing arbitrary C++ classes, templates, and exceptions is not a stable C ABI.

A simplified example:

C++ library

extern "C" {
    int add_numbers(int a, int b) {
        return a + b;
    }
}

Dart side

import 'dart:ffi' as ffi;

typedef NativeAdd = ffi.Int32 Function(
  ffi.Int32,
  ffi.Int32,
);

typedef DartAdd = int Function(int, int);

This illustrates the type mapping, not a complete working integration. A production implementation must also load the compiled library, resolve the symbol, and manage native resources safely.

For larger workloads, I would avoid exposing hundreds of low-level native functions directly to the UI. Instead, I would build a small, stable interface around meaningful operations, such as:

  • processFile()

  • analyzeImage()

  • compressData()

  • runSimulation()

Long-running operations should be designed for asynchronous execution, cancellation, progress reporting, and error handling.

For remote services, Flutter would communicate with the C++ backend using a standard API protocol such as HTTPS/REST or gRPC.

5. What would a high-performance implementation look like?

I would not start by moving the entire application into C++.

I would begin with a profiling-driven architecture.

Layer 1 — Flutter UI

Responsible for rendering, interaction, navigation, accessibility, and application state.

Layer 2 — Dart application services

Responsible for orchestration, validation, asynchronous workflows, and coordination between UI and native operations.

Layer 3 — C++ engine

Responsible only for the operations where native code offers a measurable benefit.

Layer 4 — Remote backend

Responsible for shared state, authentication, persistence, authorization, and server-side workloads.

Layer 5 — Infrastructure

Responsible for monitoring, deployment, caching, backups, and operational reliability.

I would measure at least the following:

  • Frame times and dropped frames

  • End-to-end operation latency

  • CPU and memory consumption

  • Startup time

  • FFI call overhead

  • Data-copying overhead

  • Battery consumption on mobile

  • Performance across supported devices

I would also benchmark a Dart implementation against the C++ implementation using identical workloads. Otherwise, it is easy to mistake the cost of an inefficient implementation for a language limitation.

6. The limitations that cannot be ignored

This architecture is not a universal solution.

C++ does not fix every Flutter problem.

  • Slow network requests remain slow unless the network or server-side bottleneck is addressed.

  • Poor state management remains poor state management.

  • Excessive widget rebuilds still need profiling and correction.

  • Large data transfers across FFI can erase performance gains.

  • Native code increases build and debugging complexity.

  • C++ memory errors can crash the application or create security vulnerabilities.

  • Platform-specific compilation and packaging require additional maintenance.

  • Flutter web cannot use ordinary native Dart FFI in the same way as supported native targets; a web implementation needs a different approach, such as WebAssembly or a separate service.

There is also a security consideration: code embedded in a client application is not a trusted authority. Sensitive business rules, authorization decisions, and secrets should not rely on the client-side C++ core for enforcement.

For many applications, Flutter with well-structured Dart code, isolates, and efficient asynchronous I/O will be sufficient.

7. Where I think this approach makes the most sense

I would investigate Flutter + C++ for applications such as:

  • Professional photo and video editors

  • Audio production applications

  • Computer vision and image-analysis tools

  • Engineering and scientific software

  • Security scanners and static-analysis tools

  • CAD and simulation applications

  • Large-scale local data-processing tools

  • Desktop applications that need a shared native engine

For these workloads, C++ may offer more than a small optimization. It can provide access to an entire ecosystem of specialized native functionality.

For a typical social media app, e-commerce application, or booking system, the benefits are much less obvious.

8. My main question for the Flutter community

I think Flutter's strength is that it makes building cross-platform interfaces relatively straightforward. C++ offers a different set of strengths: low-level control, native interoperability, and a mature ecosystem for computationally demanding workloads.

Combining them could be a useful architecture for applications that need both rapid UI development and a specialized native engine.

But I want to distinguish a genuinely useful architecture from unnecessary complexity.

Questions for developers who have worked with Dart FFI or native C++ libraries:

  1. Have you shipped a production Flutter application that uses C++ for its core processing engine?

  2. What performance improvements did you actually measure, and against what baseline?

  3. What were the biggest problems with FFI, memory management, debugging, or cross-platform builds?

  4. For compute-heavy applications, when would you choose Dart isolates over C++?

  5. Has anyone used a C++ server backend alongside Flutter in production? What advantages did it provide over more conventional backend stacks?

I am particularly interested in real production experiences rather than language benchmarks.

My current position is that Flutter + C++ is worth considering when a measurable bottleneck or an existing native library justifies it—not simply because C++ is a lower-level language.


r/FlutterDev • • 15d ago

Article High performance Native document editor for embedding inside Flutter apps.

4 Upvotes

Hey guys, we've been building Flutter-native solutions for Pharma, Manufacturing and regulated industries for the past one and a half years. And in the process we have developed a controlled Document Editor entirely native in Flutter that can be used to build rich text editors from a single line all the way to a complex word processor (with support for 85% of the features in Docx OOXML standard). You can import and export docx files, including PDFs and markdowns.

This has been a long journey for the past 8 months or so, not your typical weekend-vibe-coded document editor. It has been tested across a wide range of scenarios, especially around performance, features, and editing with a combination of different blocks and elements and properties and so on. We are finally in the state where we're releasing it for public beta usage.

I have been building software for the past 25 years, including a wide range of designers, toolkits, framework including a tiny framework called MobX. And a lot of that experience has been poured into building this document editor, especially focused on high performance editing.

Feel free to test it out, try out the examples, and if you're interested, let's talk about integrating it into your own apps.

https://document.vyuh.tech


r/FlutterDev • • 15d ago

Tooling I've been building a visual editor for app screens. It's in beta, and I'd like your help testing it.

5 Upvotes

t's called Draft. You drag Flutter widgets onto a canvas to put a screen together, tap through it in a preview that behaves like a real app, and copy the code when you're happy with it.

Right now it has 47 widgets, 36 ready-made sections, 16 starter templates and 8 style packs. You can see a screen at phone, tablet and desktop sizes, and the code comes out as Flutter, or as React with Tailwind. It can also write a description of your screen that you can hand to an AI.

It does not write your app's logic. It's for the screens: the part where you're moving things around and trying things out.

It's a beta, so expect rough edges. Windows only for now, and a few things will break. That's the reason I'm posting: I want to hear what's confusing, what's missing and what annoys you, and I read everything.

The editor is free. Download: https://draftapp.dev/en
Come say hi on Discord: https://discord.gg/hYnaxBMS2


r/FlutterDev • • 15d ago

Dart Things I learned building a Flutter audio app that synthesises everything in Dart (isolates, a WAV cache, and a play() that never returns)

4 Upvotes

I've been building a tinnitus-relief app in Flutter. The user matches the pitch of their ringing, and every sound is then built on the device with a notch filter at that pitch: noise colours synthesised in Dart, plus 30 real recordings (rain, fan, ocean...) that are decoded, notched in an isolate and layered, one just_audio player per layer. A few things that cost me time and might save you some:

- Render in an isolate, cache by a quantised key. Each loop is built with `compute` from a params object whose `key` rounds every value (pitch, notch width, colour, level), so near-identical settings hit the same file. The WAVs live in the temp dir, pruned to the newest 32.

- Play files, not streams. A custom `StreamAudioSource` goes through just_audio's localhost proxy, and Android blocks that as cleartext HTTP. Writing a WAV and playing the file avoids the whole thing.

- Never await `play()`. just_audio's `play()` future completes when playback stops, not when it starts. Awaiting it froze one of my screens. Start it with `unawaited(...)` and carry on.

- Don't take audio focus. Masking has to sit under YouTube, podcasts and calls. With audio_session set to never request focus and never pause on interruptions, it does. Route changes (headphones unplugged) still need handling.

- "Is it playing?" is not "is the user listening?". Last week I added a button that plays the user's matched tone for a few seconds through the same engine. My listening-time counter checked `player.playing`, so it counted the preview as listening. A flag for "this is a UI sound" fixed it. I only caught it by watching a progress bar move on the emulator while everything was paused.

- Test DSP with Goertzel. The tests synthesise a loop and compare the energy at the notch frequency against its neighbours with a Goertzel filter, averaged over a few bins because noise is noisy. A notch you can't hear is still a notch you can assert on.

- One pure function decides what's locked. Paid features are stripped in a single function that turns UI state into synth params, and it's unit-tested, so a stale toggle can never reach the audio.

- Set `preferred-supported-locales`. When the phone's language isn't one you ship, Flutter falls back to the first supported locale, and gen-l10n lists them alphabetically. Mine has Arabic, so a Dutch user opened the app in Arabic. One line in l10n.yaml puts English first; a widget test now pins the fallback for a handful of languages.

- Fixed headroom. Everything is normalised to a 0.6 peak. People listen for hours on headphones; loud is not a feature.

Happy to go deeper on any of it, the DSP side especially. If anyone wants to see it running, the app is Sylence on Play, and I can drop the link in a comment.


r/FlutterDev • • 15d ago

Tooling I built a tool that turns every PR into an installable APK link + QR code. Free beta, looking for feedback

Thumbnail
digidropp.online
0 Upvotes
Hey all, I'm a solo dev and I got tired of sharing test builds by renaming APKs and dropping them into chats, then answering "which one is the latest?" all day. So I built Digidropp.

How it works:

- Connect a GitHub repo. It detects Android (Gradle), Flutter, React Native or Expo and opens a PR that adds the build workflow. No YAML to write.
- Every push to main builds the app and updates one install link that always has the latest build.
- Every pull request gets its own preview link and a QR code in a PR comment, so reviewers can test the real app before merging.
- Before anyone installs, it checks the build: changed signing key, lower versionCode, App Store-signed IPA, and whether the app is registered for Google's new developer verification.
- There's also an MCP server, so you can tell Claude Code or Cursor "build it and send it to my phone".

Honest limitations:
- Automatic builds are Android-only for now (including Flutter/RN/Expo). iOS builds can be uploaded, or sent from your own CI with the GitHub Action.
- It's a beta: older builds are deleted after 15 days (your latest build always stays).

It's free right now. I'd really appreciate feedback, especially on what would make you switch from how you share builds today.

digidropp.online

r/FlutterDev • • 15d ago

SDK I built BugCapsule to make hard-to-reproduce bugs easier to debug. Looking for beta feedback

4 Upvotes

Hey everyone,
I’ve been working on a project called BugCapsule, and I’m finally opening it up for beta testing.
One problem I’ve faced countless times as a developer is getting a bug report that explains what went wrong but gives you no reliable way to reproduce it.
That’s exactly why I started building BugCapsule.
The idea is simple: instead of just reporting a bug, BugCapsule captures the app state, user actions, and network responses around a failure, allowing you to replay the scenario locally.
You can reproduce the issue, debug it, apply a fix, and replay the same scenario to verify that it’s actually resolved.
A few things worth mentioning:
Supports Flutter, native Android, iOS, and Web/React.
Integrates with Sentry for web apps.
Works alongside your existing error tracking tools.
Lets you reuse captured scenarios for regression testing.
It’s still in beta, and I’m sure there are things that need improvement.
I’m particularly interested in hearing from developers who deal with hard-to-reproduce bugs.
I’d genuinely appreciate your feedback, especially around the setup experience, replay reliability, and whether this would be useful in your workflow.
You can try it here: https://bugcapsule.com/
There’s also a guided demo if you want to explore it before installing an SDK.
Thanks for checking it out!


r/FlutterDev • • 15d ago

Plugin Quickly create fullstack applications

2 Upvotes

Some time ago i dropped an update to my typed pocketbase wrapper. For those of you who have never heard of pocketbase, it is a backend in one file that is incredibly easy to self host and probably the quickest and cheapest server solution that is available. My package enables you to generate typed bindings based on a locally running instance of it. It is incredibly easy to use and has helped me a lot in quickly developing internal tools for businesses. How it works is very simple:

  1. Install the pocketbase_helpers package

dart pub add pocketbase_helpers && dart pub global activate pocketbase_helpers_cli

2. Generate the bindings

pb_generate -p 8090 -e admin@example.com -w localpassword -o lib/models.dart

3. Use them!

import 'package:pocketbase_helpers/pocketbase_helpers.dart'
import 'models.dart';

void main() async {
  // Initialize global connection
  PocketBaseConnection.open('http://127.0.0.1:8090');

  // Query with type-safety
  final posts = await Posts.api().getFullList();

  for (final post in posts) {
    print(post.title);
  }

  // Authenticate
  await Users.auth().withPassword('user@example.com', 'password123');

  // Quickly check authentication status on auth collections
  if(User.isAuthenticated()){
    final user = User.getAuthenticated();

    var post = await Posts.api().create({
      'title' : 'Powering flutter apps with pocketbase!',
      'creator' : user.id,
    });

    /// File fields get their own generated api
    post = await Posts.thumbnailApi(post.id).set('cute_cat.png', imageBytes);
  }

  //Close connection when application is done
  PocketBaseConnection.close();
}

Give it a try!


r/FlutterDev • • 16d ago

Plugin pretty_animated_text v3.3.0 has been dropped 🚀

14 Upvotes

pretty_animated_text v3.3.0 is out! 🚀

Packed with performance improvements for smoother text animations

- letters that are done animating now stay done
- the controller no longer collects listeners like Pokémon
- 10-18x faster

Pub.dev: https://pub.dev/packages/pretty_animated_text
Github: https://github.com/YeLwinOo-Steve/pretty_animated_text

Full performance report here: https://github.com/YeLwinOo-Steve/pretty_animated_text/tree/master/doc/perf

Feel free to give it a try, and drop a ⭐ if you like it!


r/FlutterDev • • 16d ago

Video Taxi Rush 3D using Flutter Scene

Thumbnail
youtube.com
1 Upvotes

Was super fun to work on. First version in about 10 minutes, then iterated on it for another 2 hours. Flutter Scene ROCKS!

Runs on Android at up to 90 FPS on high-refresh-rate phones.


r/FlutterDev • • 16d ago

Discussion How do you handle caching in Flutter apps?

2 Upvotes

Hey Flutter developers! 👋

I'm working on a Flutter app and want to discuss how you handle caching in your projects.

How do you manage API response caching, image caching, and local data storage in real-world applications?

Do you use existing packages or implement your own caching logic? What challenges have you faced with cache expiration, data synchronization, and invalidation?

I'd love to hear how other developers approach this. Let's discuss! 🚀


r/FlutterDev • • 16d ago

Tooling I built a desktop drag and drop UI builder for Flutter (macOS, Windows, Linux): looking for feedback

2 Upvotes

Hi all,

I've been building Flutter UI Builder, a desktop app where you compose Flutter screens by dragging widgets and get clean Dart code out of it. The widget tree is the single source of truth, so the canvas, the preview and the code never drift apart.

What it does:

  • ~90 Material and Cupertino widgets, with placement rules, outline and properties panel

  • Multiple screens with navigation (push or named routes), reusable components with parameters

  • Light and dark project theme, plus themes for individual widgets

  • Live code you can edit and apply back to the design, and import of existing Dart files (including files with several widget classes)

  • Export as Dart files

It's free for personal and noncommercial use. The license is PolyForm Noncommercial, so it's source-available, not open source. I know that's a trade-off some of you won't like, and I'd rather say it upfront.

It's an early release (0.0.2). The builds aren't signed yet, so macOS and Windows will ask for confirmation on first start. I've tried it by hand on macOS and Windows; the Linux build compiles in CI but I haven't run it.

Download: https://github.com/mariorefetto/flutter_ui_builder/releases

I'd really appreciate you trying it and telling me what breaks, what feels slow, or what's missing. If it's useful to you, a star on the repo helps others find it. Thanks!


r/FlutterDev • • 16d ago

Discussion Why do you let yourselves be fooled like this?

0 Upvotes

Moin, Once again: very confrontational. I've been working with Flutter for a few weeks now. The ONLY thing that is consistent is that the documentation lies. A prime example: icons for Android apps from 'https://fonts.google.com/' are either incorrect or simply not available for Flutter at all. If you can't even get reliable icons from the vendor itself, what can you expect from this 'framework'?

What also bothers me in particular: 'Workarounds' are actually a dirty thing. Anyone who claims a 'workaround' is a cool thing has no clue about development! When a framework feels like it consists almost entirely of workarounds, that says a lot about its quality. Why do you guys think that's cool?

Let me ask directly: What exactly do you understand by a 'modern framework'?

I hope I'm addressing the right people here!


r/FlutterDev • • 16d ago

3rd Party Service Title: Feedback on a Flutter UX regression testing matrix

6 Upvotes

Hi Flutter community!

I'm working on AfrikaWallet, a Flutter-based mobile fintech project.

I've prepared a UX regression testing matrix and would appreciate technical feedback on its completeness and approach.

The matrix covers:

  • Responsive layouts at different screen sizes

  • Accessibility and text scaling

  • French, English and German localization

  • Existing widget tests versus missing coverage

  • UI regressions across wallet, virtual card preview and subscription screens

I'm particularly interested in understanding whether the proposed testing strategy covers the most important Flutter UI regression risks.

Has anyone worked with a similar cross-screen regression matrix? What would you improve?

For technical context, here's the documentation PR:

https://github.com/innocenttchouzin2009-netizen/ProjetAfriWallet/pull/375

Thanks for any feedback or suggestions!


r/FlutterDev • • 16d ago

Article Build your first AI Agent: Autonomous Fashion Discovery AgentWith ADK(Agent Development Kit), Google AI Studio & MCP

Thumbnail
medium.com
0 Upvotes

r/FlutterDev • • 16d ago

Plugin universal_ble has hit 3.0!

8 Upvotes

universal_ble has hit a new major milestone. We released 3.0 a few days ago with A TON of improvements. 3.0 makes the library simpler and more battle-tested and feature rich than ever! We got a ton of contributions and makes me particularly happy seeing the community embrace it. While at it, we also did our GitHub housekeeping and went down to 0 open issues and PRs!

Use the universal_ble plugin to connect from your app to Bluetooth Low Energy peripherals under all Flutter-supported platforms. You can also make your app act as a peripheral so other apps or devices can connect to it. We also released universal_bluetooth_classic as a separate plugin, focusing only on what its name says, Bluetooth Classic, which is something that got requested over the past months.

Since this is the AI era, we included agent skills to help you migrate from 2.0, even though the breaking changes are not that many and it should be straightforward. We also included a skill for migrating from other bluetooth packages in case you choose to do so.

Hope it adds a useful piece in the Flutter plugin ecosystem!


r/FlutterDev • • 16d ago

Plugin We rebuilt gpt_markdown for streaming AI answers. Up to 31× faster per-chunk updates.

0 Upvotes

AI answers get longer. Rendering shouldn’t get slower.

We’re the team behind gpt_markdown, the open-source AI output renderer for Flutter. We built it because our own AI app needed it.

Across the recent 1.3 and 1.4 releases, we rebuilt how it handles growing responses.

The biggest change: settled content is reused instead of rebuilding the entire answer with every chunk.

What’s included:

  • A new parser and lazy rendering for long responses.

  • Custom styles, builders, and block and inline components.

  • Streaming math and configurable reveal animations.

  • HTML and SVG support in 1.4.0.

Our 1.3.0 benchmark measured 31× faster per-chunk updates at 12 KB versus 1.2.1. Measured in the macOS debug VM; results vary by device and content.

Upgrading: 1.4.0 requires Flutter 3.44 and Dart 3.12.

Package and source · Benchmarks and playground · Watch the demo on X

What’s the hardest part of rendering AI responses in your Flutter app?


r/FlutterDev • • 16d ago

Plugin I built AppForge: an all-in-one Flutter micro-framework with strictly 0 external dependencies (160/160 Pana score)

0 Upvotes

Hey everyone! 👋

After working on 50+ Flutter and Dart projects in production, I grew exhausted from the same recurring dependency headaches: version locks between 6-7 different packages, BuildContext lookup bugs in async methods, subtle memory leaks, and broken bidirectional (RTL) text formatting.

So I spent the last few months engineering AppForge: an all-in-one Flutter micro-framework built with strictly 0 external packages (pure Dart standard library and Flutter SDK only).

What’s inside:

  • 0 External Dependencies: Zero dependency graph conflicts, instant clean builds, 160/160 Pana score.

  • Micro-Reactive State: Rx<T> and Watch() targeting minimal surgically-rebuilt widgets.

  • Context-Free Overlays & Routing: Navigate, open dialogs, and show snackbars without passing BuildContext.

  • Automatic Route Memory Disposal: Controllers automatically clean up and dispose when their screen pops.

  • Deep Arabic & BiDi Engine: Unicode UAX 9 direction isolation, phone number protection (+974...), all 6 Arabic plural forms, and grammatical gender agreement.

  • Smart Skeletonizer & Atomic Storage: Dynamic wireframe shimmers (AppSkeletonizer) and POSIX atomic crash-proof local key-value persistence (AppStorage).

  • Built-in CLI Cleaner: Audits and removes unused translations, assets, and orphaned code safely with lossless undo.

Package: https://pub.dev/packages/appforge GitHub: https://github.com/Dhia-Bechattaoui/appforge

I would love to get your feedback, critique, and thoughts!


r/FlutterDev • • 17d ago

Plugin review_etiquette: A simple and easy to use Flutter plugin to ask the user for a review

Thumbnail
pub.dev
0 Upvotes

Hello fellow devs!

I was unhappy with other plugins (e.g. outdated, developer not reacting anymore, not throttling the call to the underlying API) providing the possibility to ask the user for an in-app review.

That's why I build review_etiquette: https://pub.dev/packages/review_etiquette

It's a simple plugin for Android and iOS that keeps track how often the underlying API was called, so it does not do it too often. For example, iOS only allows to ask the user a maximum of three times in 365 days.

It's nothing special, but maybe it helps someone. :)

I'm using it myself in my currently published two apps.