Skip to content

Conversation

@sfshaza2
Copy link
Contributor

Fixes #12645. Adds the glossary entry for 'Embedder' with relevant links.

@sfshaza2 sfshaza2 requested a review from a team as a code owner December 19, 2025 19:36
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @sfshaza2, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses issue #12645 by enhancing the project's documentation. It introduces a new, detailed glossary entry for the term 'Embedder', providing clarity on its role as the platform-specific component managing the Flutter engine and its interactions with the operating system. This addition aims to improve understanding of Flutter's architecture for developers and readers.

Highlights

  • New Glossary Entry: A new glossary entry for the term "Embedder" has been added to src/data/glossary.yml.
  • Detailed Definition: The "Embedder" entry includes a short description, a comprehensive long description detailing its function, platform-specific implementations, and management of the Flutter engine and OS interactions.
  • Related Resources: Relevant links to the architectural overview and information on Flutter for embedded devices are now included with the "Embedder" definition.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a new glossary entry for 'Embedder'. The definition is well-written and the provided links are relevant. I've suggested a minor update to the list of programming languages to improve technical accuracy and consistency with other documentation pages.

It also manages the message event loop.
The embedder is written in a language appropriate for the platform,
such as Java/Kotlin for Android, Swift/Objective-C for iOS/macOS,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This is a great addition! For improved accuracy and consistency with the 'Flutter architectural overview' page, consider updating the list of languages. The overview page also mentions C++ for Android and Objective-C++ for iOS/macOS. Including them here would make the definition more complete and consistent.

    such as Java/Kotlin and C++ for Android, Swift/Objective-C/Objective-C++ for iOS/macOS,

Copy link
Member

@loic-sharma loic-sharma Dec 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is factually correct, but I'd consider sweeping that under the rug.

The point the reader should takeaway here is that the Android embedder is the chunk of code that ports Flutter to Android, and is written in the language that's native for Android.

The Android embedder does use C++, but that's an implementation detail mainly to interoperate with the C++ Flutter engine. (Same story with iOS/macOS embedders using Objective-C++)

@sfshaza2 sfshaza2 requested a review from loic-sharma December 19, 2025 19:38
@flutter-website-bot
Copy link
Collaborator

Visit the preview URL for this PR (updated for commit f430c1f):

https://flutter-docs-prod--pr12852-glossary-embedder-lnweun58.web.app

The platform-specific component that coordinates with the operating system
and manages the Flutter engine.
long_description: |-
The _embedder_ provides the entrypoint for a Flutter app.
Copy link
Member

@loic-sharma loic-sharma Dec 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking, this is the runner app, not the embedder. I'd consider removing this sentence.


The runner app provides the native entry point for your Flutter project. It is responsible for launching Flutter.

Your Flutter project has a runner app for each platform, contained in the android/, ios/, linux/, macos, web, or windows directories.

The runner app's code is created when you run the flutter create command to create your Flutter project. However, you are free to modify the runner app as much as needed.

The runner app uses APIs exposed by the platform's embedder to launch the Flutter engine.


What do you think of something like this?

- term: "Embedder"
  short_description: |-
    The platform-specific component to support Flutter on a native platform.
  long_description: |-
    Each native platform supported by Flutter has an _embedder_ for
    platform-specific logic.
    The embedder is the bridge that coordinates with the underlying
    operating system.
    It implements services such as input, accessibility, message event loops,
    and more.
    The embedder also launches and manages the Flutter engine.

    Each embedder is written in the platform's native language:
    Java and Kotlin for Android, Swift and Objective-C for iOS and macOS,
    and C++ for Windows and Linux.

    Each embedder also expose plugin APIs.
    These APIs let plugin packages add additional platform-specific
    functionality to the app.

    The embedder is launched and managed by the runner app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add glossary entry for "Embedder"

3 participants