Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions src/_data/sidenav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,14 +165,13 @@
permalink: /resources/bootstrap-into-dart
- title: Inside Flutter
permalink: /resources/inside-flutter
# - title: Flutter best practices
# TODO: We don't have this page yet.
- title: Technical overview
permalink: /resources/technical-overview
# - title: Flutter best practices # TODO
- title: Technical videos for learning Flutter
permalink: /resources/videos
# - title: Flutter developer communities
# TODO: We don't have this page yet.
# - title: Flutter learning resources
# TODO: We don't have this page yet.
# - title: Flutter developer communities # TODO
# - title: Flutter learning resources # TODO
- title: FAQ
permalink: /resources/faq

Expand Down
4 changes: 2 additions & 2 deletions src/deployment/android-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Review the default [App Manifest][manifest] file `AndroidManifest.xml` located
in `<app dir>/android/app/src/main` and verify the values are correct,
especially:

* `application`: Edit the [`application`][applicationtag] tag to reflect the
final name of the app.
* `application`: Edit the `android:label` in the
[`application`][applicationtag] tag to reflect the final name of the app.

* `uses-permission`: Remove the `android.permission.INTERNET`
[permission][permissiontag] if your application code does not need Internet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ on the inherited widget is created. When an inherited widget changes
contexts are rebuilt.

Localized values are loaded by the Localizations widget's list of
[LocalizationsDelegate](https://docs.flutter.io/flutter/widgets/LocalizationsDelegate-class.html)s.
Each delegate must define an async
[LocalizationsDelegate]({{site.api}}/flutter/widgets/LocalizationsDelegate-class.html)s.
Each delegate must define an asynchronous
[`load()`](https://docs.flutter.io/flutter/widgets/LocalizationsDelegate/load.html)
method that produces an object which encapsulates a collection of
localized values. Typically these objects define one method per localized value.
Expand Down
20 changes: 20 additions & 0 deletions src/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,26 @@ Some of the new content includes:
If you have questions or comments about the revamped site, [file an
issue]({{site.repo.this}}/issues).

{% comment %}
# TODO (Not for publication)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

How about putting this in an issue (or our shared doc) instead of embedding this in the docs page?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, definitely. I was just throwing out ideas when preparing for our last stakeholder meeting.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The to-do list is still in the doc.


* Finish reviewing all pages and fixing issues
* Add a TOC back to pages containing tabs
* Run site through accessibility testing/review
* UX testing of new site
* Custom search - open issue
* Deprecated/watermark format option
* Add descriptions to each page
* Sitemap
* Redirects
* Finalize landing page
* Finalize showcase page
* A new 404 page
* Complete styling for widget catalog
* More new content (by Flutter Live)
{% endcomment %}


## New to Flutter?

Once you've gone through [Get Started](/get-started/install),
Expand Down
2 changes: 1 addition & 1 deletion src/get-started/install/_get-sdk-win.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ In the Flutter Console, run the following command to see if there are any
dependencies you need to install to complete the setup:

```terminal
$ flutter doctor
$ flutter doctor [-v]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The prose before this line contains "run the following command", but by adding [-v] this line becomes more a "usage synopsis". Options that come to mind:

  • Revert this change
  • Drop the brackets so that it becomes $ flutter doctor -v
  • Keep the change but:
    • Update the prose (to not say "run the following command"), and
    • Remove terminal as the code-block language
    • Remove the leading $

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This point wasn't addressed.

```

This command checks your environment and displays a report to the terminal
Expand Down
4 changes: 2 additions & 2 deletions src/get-started/install/_get-sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
1. Add the `flutter` tool to your path:

```terminal
$ export PATH=`pwd`/flutter/bin:$PATH
$ export PATH=$PATH:`pwd`/flutter/bin
```

The above command sets your `PATH` variable temporarily, for the current terminal
Expand All @@ -51,7 +51,7 @@ Run the following command to see if there are any dependencies you need to
install to complete the setup:

```terminal
$ flutter doctor
$ flutter doctor [-v]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

See earlier comment about this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This point wasn't addressed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Well, this PR seemed to be messed up, too. So annoying.

```

This command checks your environment and displays a report to the terminal
Expand Down
2 changes: 1 addition & 1 deletion src/get-started/install/_path-mac-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ a new window. For example:
the path where you cloned Flutter's git repo:

```terminal
$ export PATH=PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin:$PATH
$ export PATH=$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin
```
4. Run `source $HOME/.bash_profile` to refresh the current window.
5. Verify that the `flutter/bin` directory is now in your PATH by running:
Expand Down
8 changes: 5 additions & 3 deletions src/get-started/test-drive/_androidstudio.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
## Create the app {#create-app}

1. Select **File > New Flutter Project**.
1. Select **Flutter application** as the project type, and press **Next**.
1. Enter a project name, such as `myapp`, and press **Next**.
1. Select **Flutter application** as the project type, and press Next.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

AFAIK, per guidelines, UI elements like Next should be in bold.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This point wasn't addressed.

1. Make sure that the **Flutter SDK Path** text field specifies the
location of the SDK. Install the SDK if you haven't yet done so.
1. Enter a project name (for example, `myapp`), and press Next.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ditto, Next in bold

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This point wasn't addressed.

1. Click **Finish**.
1. Wait for Android Studio to install the SDK and create the project.
1. Wait for Android Studio to install the SDK, and create the project.

The above commands create a Flutter project directory called `myapp` that
contains a simple demo app that uses [Material Components][].
Expand Down
141 changes: 77 additions & 64 deletions src/images/whatisflutter/diagram-layercake.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 26 additions & 18 deletions src/resources/technical-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,20 @@ title: Technical Overview
Flutter is a mobile app SDK for building high-performance, high-fidelity,
apps for iOS and Android, from a single codebase.

The goal is to enable developers to deliver high-performance apps that feel natural
on different platforms. We embrace differences in scrolling behaviors,
The goal is to enable developers to deliver high-performance apps that feel
natural on different platforms. We embrace differences in scrolling behaviors,
typography, icons, and more.

<object type="image/svg+xml" data="/images/whatisflutter/hero-shrine.svg" style="width: 100%; height: 100%;"></object>

This is a demo app from the
[Gallery](https://github.com/flutter/flutter/tree/master/examples/flutter_gallery/lib/demo),
a collection of Flutter sample apps you can run after installing Flutter and setting
up your environment. Shrine has high-quality scrolling images, interactive cards,
buttons, dropdown lists, and a shopping cart page. To look at the single codebase
for this and more examples,
[visit our GitHub repository](https://github.com/flutter/flutter/tree/master/examples).
a collection of Flutter sample apps you can run after installing Flutter
and setting up your environment. Shrine has high-quality scrolling images,
interactive cards, buttons, dropdown lists, and a shopping cart page.
To look at the single codebase for this and more examples,
[visit our GitHub
repository](https://github.com/flutter/flutter/tree/master/examples).

No mobile development experience is required to get started. Apps are written
in [Dart](https://www.dartlang.org), which looks familiar if you've used a
Expand Down Expand Up @@ -107,9 +108,10 @@ building upon the previous layer.

<object type="image/svg+xml" data="/images/whatisflutter/diagram-layercake.svg" style="width: 85%; height: 85%"></object>

The diagram shows the upper layers of the framework, which are used more
frequently than the lower layers. For the complete set of libraries that make up
the Flutter's layered framework, see our [API documentation](https://docs.flutter.io).
The upper layers of the framework are used more frequently than the lower
layers. For the complete set of libraries that make up
the Flutter's layered framework, see our
[API documentation](https://docs.flutter.io).

The goal of this design is to help you do more with less code. For example,
the Material layer is built by composing basic widgets from the widgets layer,
Expand All @@ -130,14 +132,16 @@ wish into the lower layers.

You define the unique characteristics of a widget by implementing a
[build](https://docs.flutter.io/flutter/widgets/StatelessWidget/build.html)
function that returns a tree (or hierarchy) of widgets. This tree represents the widget's part
of the user interface in more concrete terms. For example, a toolbar widget might
have a build function that returns a [horizontal layout](https://docs.flutter.io/flutter/widgets/Row-class.html)
function that returns a tree (or hierarchy) of widgets. This tree represents
the widget's part of the user interface in more concrete terms.
For example, a toolbar widget might have a build function that returns
a [horizontal layout](https://docs.flutter.io/flutter/widgets/Row-class.html)
of some [text](https://docs.flutter.io/flutter/widgets/Text-class.html) and
[various](https://docs.flutter.io/flutter/material/IconButton-class.html)
[buttons](https://docs.flutter.io/flutter/material/PopupMenuButton-class.html).
The framework then recursively asks each of these widgets to build until the
process bottoms out in [fully concrete widgets](https://docs.flutter.io/flutter/widgets/RenderObjectWidget-class.html),
process bottoms out in [fully concrete
widgets](https://docs.flutter.io/flutter/widgets/RenderObjectWidget-class.html),
which the framework then stitches together into a tree.

A widget's build function should be free of side effects. Whenever it is asked
Expand All @@ -159,9 +163,12 @@ widget has a counter that increments whenever the user taps a button, the value
of the counter is the state for that widget. When that value changes, the widget
needs to be rebuilt to update the UI.

These widgets subclass [StatefulWidget](https://docs.flutter.io/flutter/widgets/StatefulWidget-class.html)
(rather than [StatelessWidget](https://docs.flutter.io/flutter/widgets/StatelessWidget-class.html))
and store their mutable state in a subclass of [State](https://docs.flutter.io/flutter/widgets/State-class.html).
These widgets subclass
[StatefulWidget](https://docs.flutter.io/flutter/widgets/StatefulWidget-class.html)
(rather than
[StatelessWidget](https://docs.flutter.io/flutter/widgets/StatelessWidget-class.html))
and store their mutable state in a subclass of
[State](https://docs.flutter.io/flutter/widgets/State-class.html).

<object type="image/svg+xml" data="/images/whatisflutter/diagram-state.svg" style="width: 85%; height: 85%"></object>

Expand Down Expand Up @@ -190,7 +197,8 @@ Next steps:
1. [Follow the Flutter Getting Started guide](/get-started).
1. Try [Building Layouts in Flutter](/development/ui/layout) and
[Adding Interactivity to Your Flutter App](/development/ui/interactive).
1. Follow a detailed example in [Tour of the Widget Framework](/development/ui/widgets-intro).
1. Follow a detailed example in [Tour of the Widget
Framework](/development/ui/widgets-intro).

## Get support

Expand Down