Conversation
There was a problem hiding this comment.
Code Review
This pull request modernizes and streamlines the Flutter FAQ documentation, updating it to reflect current technologies like Impeller, Material Design 3, and WebAssembly. The review feedback points out a potential Markdown parsing issue where generic type parameters (using angle brackets <T>) are placed inside link reference labels (e.g., State<T> and GlobalKey<T>). The reviewer suggests moving the generic parameters outside of the link labels and updating the corresponding reference definitions to ensure compatibility across different Markdown engines.
|
Staged preview of the updated docs.flutter.dev site (updated for commit ec2c71a): https://flutter-docs-prod--docs-pr13746-faq-iuutyl8i.web.app |
|
Staged preview of the updated flutter.dev site (updated for commit ec2c71a): https://flutter-dev-230821--www-pr13746-faq-gegfq8en.web.app |
|
|
||
| [example of using isolates with Flutter]: {{site.repo.flutter}}/blob/main/examples/layers/services/isolate.dart | ||
| [`Isolate.run()`]: {{site.api}}/flutter/dart-isolate/Isolate/run.html | ||
| [`compute()`]: {{site.api}}/flutter/foundation/compute-constant.html |
There was a problem hiding this comment.
| [`compute()`]: {{site.api}}/flutter/foundation/compute-constant.html | |
| [`compute()`]: {{site.api}}/flutter/foundation/compute.html |
| such as parameterizing [`State`][]`<T>` with its widget type | ||
| and [`GlobalKey`][]`<T>` with its state type. |
There was a problem hiding this comment.
Consider moving the <T> parameters into the links. They look a bit awkward separated.
| Flutter and Dart don't offer application binary interface (ABI) | ||
| compatibility. Offering ABI compatibility is not a current | ||
| goal for Flutter or Dart. | ||
| Flutter and Dart do not provide application binary interface (ABI) |
There was a problem hiding this comment.
| Flutter and Dart do not provide application binary interface (ABI) | |
| Flutter and Dart don't provide application binary interface (ABI) |
| Flutter's plugin architecture, [platform channels][], | ||
| and native interop tools (such as Dart FFI, `ffigen`, and `jnigen`) | ||
| allow you to access new OS APIs immediately. | ||
| You do not need to wait for a Flutter SDK release to integrate new platform capabilities. |
There was a problem hiding this comment.
| You do not need to wait for a Flutter SDK release to integrate new platform capabilities. | |
| You don't need to wait for a Flutter SDK release to integrate new platform capabilities. |
| However, we are aware of a third party solution, | ||
| called [Shorebird][]. | ||
| Note that this is not an official endorsement or recommendation. | ||
| Flutter does not provide built-in code push functionality. |
There was a problem hiding this comment.
| Flutter does not provide built-in code push functionality. | |
| Flutter doesn't provide built-in code push functionality. |
| as well as significantly lowers the bar to approachability | ||
| for the majority of the system. | ||
| Flutter differs from most cross-platform alternatives | ||
| because it does not rely on web browser views |
There was a problem hiding this comment.
| because it does not rely on web browser views | |
| because it doesn't rely on web browser views |
| dependency injection and service location, | ||
| such as [injectable][], [get_it][], [kiwi][], and [riverpod][]. | ||
|
|
||
| Flutter does not require an opinionated dependency injection framework. |
There was a problem hiding this comment.
| Flutter does not require an opinionated dependency injection framework. | |
| Flutter doesn't require an opinionated dependency injection framework. |
| just a single `Center` widget, built with `flutter build | ||
| apk --split-per-abi`), bundled and compressed as a release APK, | ||
| to be approximately 4.3 MB for ARM32, and 4.8 MB for ARM64. | ||
| Flutter can run any Dart code that does not depend on libraries |
There was a problem hiding this comment.
| Flutter can run any Dart code that does not depend on libraries | |
| Flutter can run any Dart code that doesn't depend on libraries |
| For example, mobile and desktop apps cannot import web-specific libraries, | ||
| and web apps cannot use `dart:io`. |
There was a problem hiding this comment.
| For example, mobile and desktop apps cannot import web-specific libraries, | |
| and web apps cannot use `dart:io`. | |
| For example, mobile and desktop apps can't import web-specific libraries, | |
| and web apps can't use `dart:io`. |
| the finished release app. | ||
| The engine's C and C++ code is compiled using Android's NDK. | ||
| The Dart code (both the framework and your application code) | ||
| is ahead-of-time (AOT) compiled into native ARM and x86-64 machine code. |
There was a problem hiding this comment.
Consider simplifying this in case the supported architectures evolves. Other questions cover those specifics already.
| is ahead-of-time (AOT) compiled into native ARM and x86-64 machine code. | |
| is ahead-of-time (AOT) compiled into native machine code. |
Fixes #13596
This is just a quick update of the existing page. While the info is updated, the page still feels rather stale.
Thoughts, @parlough?