You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
stuartmorgan d2c457ec2a
Remove the 'doctor' script (#402)
1 day ago
.github/ISSUE_TEMPLATE Remove the 'doctor' script (#402) 1 day ago
build/ci Migrate Linux plugins to make, and remove GN (#394) 3 days ago
example Minor project and .gitignore CoocaPods prep (#399) 2 days ago
plugins Minor project and .gitignore CoocaPods prep (#399) 2 days ago
testbed Minor project and .gitignore CoocaPods prep (#399) 2 days ago
third_party/dart_packages Migrate Linux plugins to make, and remove GN (#394) 3 days ago
tools Remove the 'doctor' script (#402) 1 day ago
.appveyor.yml Migrate Linux plugins to make, and remove GN (#394) 3 days ago
.clang-format Rework Linux plugin API (#61) 11 months ago
.gitignore Migrate Linux plugins to make, and remove GN (#394) 3 days ago
.travis.yml Migrate Linux plugins to make, and remove GN (#394) 3 days ago
CONTRIBUTING.md Migrate Linux plugins to make, and remove GN (#394) 3 days ago
Debugging.md Tweak Debugging.md 5 days ago
LICENSE Initial commit 1 year ago
Quick-Start.md README typo fix 1 month ago
README.md Remove the 'doctor' script (#402) 1 day ago
analysis_options.yaml [Windows] [GN] Windows GN Builds (#191) 4 months ago

README.md

Desktop Embedding for Flutter

This project was originally created to develop Windows, macOS, and Linux implementations of Flutter. That work has since become part of the Flutter engine repository, and this project is now just an example of, and test environment for, building applications using those libraries.

For information about the shells themselves, see the Flutter page about desktop support.

How to Use This Code

If you have an existing Flutter app and just want to get it running, see the quick start page before continuing.

Setting Up

Tools

You will need developer tools for your platform:

  • Linux: A recent version of GCC
  • macOS: The current version of Xcode
  • Windows: Visual Studio 2017 or 2019, including the “Desktop development with C++” workload.

Source

If you are building anything other than example/, the tooling and build infrastructure for this project requires that you have a Flutter tree in the same parent directory as the clone of this project:

<parent dir>
  ├─ flutter (from https://github.com/flutter/flutter)
  └─ flutter-desktop-embedding (from https://github.com/google/flutter-desktop-embedding)

Alternately, you can place a .flutter_location_config file in the directory containing flutter-desktop-embedding, containing a path to the Flutter tree to use, if you prefer not to have the Flutter tree next to flutter-desktop-embedding.

Repository Structure

The example directory contains an example application built using the library for each platform. See its README to get started.

In addition, there is:

  • plugins: Plugins which provide access to additional platform functionality. These follow a similar structure to Flutter plugins. See the README for details.
  • third_party: Dependencies used by this repository, beyond Flutter itself.
  • tools: Tools used in the development process.

Debugging

Debugging of the Flutter side of a desktop application is possible, but requires setup.

Feedback and Discussion

For bug reports and specific feature requests, you can file GitHub issues. For general discussion and questions there’s a project mailing list.

When submitting issues related to build errors or other bugs, please make sure to include the git hash of the Flutter checkout you are using. This will help speed up the debugging process.

Caveats

  • This is not an officially supported Google product.
  • The code and examples here, and the desktop Flutter libraries they use, are in early stages, and not intended for production use.
  • There is currently no versioning system for coordinating the version of this project with the required version of Flutter. For now the expectation is that anyone experimenting with this project will be tracking Flutter’s master branch. If you encounter build issues, try using a newer version of Flutter. If your issues are specific to the latest Flutter master, please file a bug!