跪拜 Guibai
← Back to the summary

DartNative Swaps Flutter's Rendering Engine for UIKit and Android Views

Recently, a project called dartnative.com has been generating some buzz in the Flutter community, but it has nothing to do with Flutter. How should I put it, it's a bit complicated.

While retaining the development habits of Dart and Flutter, it swaps out the underlying rendering path, directly routing the UI back to UIKit and Android Views. It looks something like this:

Architecturally, it would probably look like this:

However, there's a small detail here. DartNative claims to be No bridge and 0 abstraction layers, meaning it won't be a modal like React Native. It most likely compiles directly to native code. Several other frameworks have emerged with this approach in the past couple of years.

So, this thing isn't much different from Flutter at the upper layer; the main difference is where the final rendering goes. In fact, judging from the Android and iOS rendering effects shown on the official website, the style indeed follows native rendering directly:

But the core of DartNative isn't just being a cross-platform UI framework. Its selling point is specially tuned support for specific user scenarios, like keyboard interaction. On iOS, DartNative attempts to directly join the Core Animation transaction where the keyboard resides; on Android, it uses WindowInsetsAnimation, allowing the bottom input bar and the keyboard to move together with the system animation.

DartNative's claim is that by simply using it, you can directly enjoy support for synchronized keyboard animation, which is a few frames faster than Flutter.

Long lists have also been optimized, with specific performance and frame rate tuning:

Then, Camera, Video, and WebView have also received scenario-specific adaptations. For example, DartNative provides a native video player with built-in caching and pre-caching, achieving zero loading delay and seamless playback of the next video:

ezgif-8d14e0667ba63c56

On top of this, DartNative retains CustomPaint, providing a Skia Graphite island. The main UI uses DartNative's native Views, while that dynamic Blob / Shader can be handed off to Skia separately.

So, DartNative's idea is essentially to poach users who find Flutter inconvenient in certain areas. For existing Flutter projects, an actual migration would probably look like this:

The biggest hassle here is still Plugins. DartNative currently claims to have 34 first-party plugins, including common ones like camera, video, audio, webview, ONNX Runtime, Lottie, notifications, Google Maps, RevenueCat, Supabase, and Social Sign-in. But that's still far too few, and this shortcoming is too obvious. So, DartNative will most likely remain a niche, vertical community project.

Of course, the main thing is, it's surprising that in 2026, someone would still make a project like this, just to poach a few Flutter users. Honestly, it's not even as good as the Flutter community fork, Flocker. At least the Flocker fork has already adopted Graphite:

At least the Flocker fork's WebGPU texture-based player implementation on Flutter has shown some pretty decent results:

Comments

Top 3 from juejin.cn, machine-translated. The original thread is authoritative.

taosimple 1 likes

Replacing Flutter isn't very realistic, but it would be nice as a supplement to Flutter. If this approach could replace Flutter's Platform View, that would be great — the overhead of Platform View is still quite noticeable, especially on Android.

AntG

Has Flocker already died?

season_zhu

Mainly because AI can do all the work now.