Mobile Development 19 min read

How DingTalk’s Dutter Framework Leverages Flutter for Cross‑Platform Efficiency

This article details DingTalk’s Dutter framework—built on Flutter—to unify development across four client platforms, outlining its design, current progress, cross‑platform communication methods, desktop integration challenges, and future roadmap aimed at boosting productivity and performance.

Alibaba Terminal Technology
Alibaba Terminal Technology
Alibaba Terminal Technology
How DingTalk’s Dutter Framework Leverages Flutter for Cross‑Platform Efficiency

Project Overview

Dutter (DingTalk Flutter) is a cross‑four‑platform framework built on Flutter to improve development efficiency and address resource imbalance in DingTalk’s client side.

Current Progress

The framework has been integrated on all four DingTalk platforms and is used in several pilot projects such as schedule sign‑in and panel features.

Project Background

The initiative aims to boost side‑client development efficiency and keep up with Flutter technology.

Side‑client development efficiency.

Adopt and follow Flutter technology.

Efficiency Gains

By consolidating code across platforms, a single implementation can serve multiple devices, dramatically increasing productivity.

Flutter vs Other Cross‑Platform Solutions

Compared with mini‑programs and H5, Flutter offers near‑native performance and a self‑drawing engine that better fits DingTalk’s “specialized and refined” requirements.

Architecture Design

The Dutter ecosystem consists of three main suites:

Dutter Runtime – core runtime built on Flutter, providing container components, API plugins, and modular business framework.

Dutter Dev Kit – development kit that solves cross‑platform support and efficiency for teams using different tech stacks.

Dutter OPS Kit – operations kit handling product release, monitoring, and related functions.

Data Communication

Two primary mechanisms are used:

Channel – high‑level, easy to use, but may have performance overhead; recommended to consolidate channels to 1‑2 shared instances.

FFI – low‑level native calls with higher performance; requires careful memory‑management, following principles of same‑source allocation/free and “who allocates, who frees”.

Message Bus

A lightweight end‑to‑end bus enables seamless communication between Flutter and other technology stacks such as mini‑programs, providing a unified channel, controller, and registration module.

Desktop Integration

Challenges include integrating FlutterApp as a module, supporting Windows 32‑bit, and reconciling single‑engine (mobile) with multi‑engine (desktop) architectures.

Solutions involve custom build scripts to produce 32‑bit flutter_windows.dll, modifying plugin registration, and using the message bus to bridge multi‑engine communication.

Future Work

Planned investments include infrastructure upgrades (FlutterEngine, flutter_boost, dynamic solutions), performance optimisation for desktop, dev‑kit enhancements, stability improvements for Windows, and further efficiency gains to expand business coverage.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

FlutterCross‑PlatformDingTalkDutter
Alibaba Terminal Technology
Written by

Alibaba Terminal Technology

Official public account of Alibaba Terminal

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.