Skip to content

Deprecate and remove Dart-side DeferredComponents #159212

@matanlurey

Description

@matanlurey

Flutter supports two sets of features around deferring code: (a) deferring chunks of Dart and (b) deferring the engine. The latter (b) is used, including in google3, to, quote "not pay 5mb when a 1000 screen app adds their first 1 Flutter screen". The former feature, however, is not known to have any internal use, and we suspect very little (or no) external use.

Feature overview:

From talking to @jonahwilliams and in my own experiences spelunking through the flutter tool, deferred components is a complex feature that is almost not tested at all, and has implementation elements throughout most of the product - in the tool, framework, and engine. Deprecating and removing it would remove a significant source of haunted graveyard-style complexity, especially if the feature is not used or tested.

As a first step, I'll work with @andrewkolos to enable Google analytics tracking for this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: API breakBackwards-incompatible API changesc: contributor-productivityTeam-specific productivity, code health, technical debt.c: proposalA detailed proposal for a change to Flutterc: tech-debtTechnical debt, code quality, testing, etc.fyi-toolFor the attention of Flutter Tool teamplatform-androidAndroid applications specificallyteam-androidOwned by Android platform teamtriaged-androidTriaged by Android platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions