Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reworked getting started experience #800

Merged
merged 34 commits into from Feb 26, 2018
Merged

Reworked getting started experience #800

merged 34 commits into from Feb 26, 2018

Conversation

mit-mit
Copy link
Member

@mit-mit mit-mit commented Feb 14, 2018

Re-work the getting started flow to:

  1. Actually be a flow
  2. Enable Flutter editor choice (AS, VSCode, terminal+other)
  3. Prepare for plugging in the new getting started tutorial

Staging link: https://flutter-website-staging.firebaseapp.com/

@googlebot googlebot added the cla: yes Contributor has signed the Contributor License Agreement label Feb 14, 2018
@mit-mit mit-mit changed the title Initial cut at Android Studio and Terminal experiences Reworked getting started experience Feb 21, 2018
@mit-mit
Copy link
Member Author

mit-mit commented Feb 22, 2018

OK, this is ready for review now! As discussed in email I keep everything setup as-is today to minimize risk. I will focus on the setup piece for beta 2.

@mit-mit
Copy link
Member Author

mit-mit commented Feb 22, 2018

Just to be clear: The present PR is the subset I am hoping we can land this week so it's ready before first beta.

@mit-mit
Copy link
Member Author

mit-mit commented Feb 22, 2018

@@ -8,7 +6,7 @@ The steps for modifying this variable permanently for all terminal sessions are
Typically you add a line to a file that is executed whenever you open
a new window. For example:

1. Determine the directory where you cloned Flutter's git repo. You will
1. Determine the directory where where you placed the Flutter SDK. You will
Copy link
Contributor

Choose a reason for hiding this comment

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

double where

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed


To automatically format the code in the current source code window, right-click
in the code window and select `Reformat with Dart style`. You can add a keyboard
shortcut to this in Keymap section of IntelliJ Preferences.

### Automatically formatting code in VS Code
Copy link
Contributor

Choose a reason for hiding this comment

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

visual studio code , or vs code ?

Copy link
Contributor

@Sfshaza Sfshaza Feb 23, 2018

Choose a reason for hiding this comment

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

Well, color me wrong. I thought it was "VSCode", but I checked and it's "VS Code". I have to change my docs. :)

Copy link
Member Author

Choose a reason for hiding this comment

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

Microsoft uses both 'Visual Studio Code' and 'VC Code'. I personally much prefer the latter as it's less likely to cause confusion with "big" Visual Studio.

formatting.md Outdated

To automatically format the code in the current source code window, right-click
in the code window and select `Reformat with Dart style`. You can add a keyboard
shortcut to this in Keymap section of IntelliJ Preferences.

### Automatically formatting code in VS Code

Automatic formatting of code is supported in Visual Studio Code if you
Copy link
Contributor

Choose a reason for hiding this comment

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

for future: try phrasing like "Install the Dart Code plugin to automatically format your Dart code."

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

@mit-mit
Copy link
Member Author

mit-mit commented Feb 24, 2018

I love the new suggested section titles from Filip, PR and staging updated to those!
https://flutter-website-staging.firebaseapp.com/

As for the overview and exit pages, see email I sent

<li><a href="/getting-started/">Create and run your first app</a></li>
<li><a href="/ide-setup/">Setting up the IDE</a></li>
<li><a href="/bootstrap-into-dart/">Bootstrap into Dart</a></li>
<li><a href="/get-started/">1: Overview</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

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

I still think this should go. /get-started/ as a destination should stay (so that we can't send people to a place "of no escape"), but shouldn't be linked from sidenav. It's a very underwhelming destination page.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

<li><a href="/ide-setup/">Setting up the IDE</a></li>
<li><a href="/bootstrap-into-dart/">Bootstrap into Dart</a></li>
<li><a href="/get-started/">1: Overview</a></li>
<li><a href="/get-started/install/">2: Install Flutter</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove 'Flutter'. It's implicit.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

<li><a href="/bootstrap-into-dart/">Bootstrap into Dart</a></li>
<li><a href="/get-started/">1: Overview</a></li>
<li><a href="/get-started/install/">2: Install Flutter</a></li>
<li><a href="/get-started/editor-configuration/">3: Editor configuration</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

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

"Configure editor". It's weird to have a noun when other steps are verbs. Verbs are better.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

<li><a href="/get-started/install/">2: Install Flutter</a></li>
<li><a href="/get-started/editor-configuration/">3: Editor configuration</a></li>
<li><a href="/get-started/test-drive/">4: Test drive</a></li>
<li><a href="/get-started/codelab/">5: Core concepts codelab</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

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

"Write your first Flutter app". I believe it's much more appealing than "Core concepts codelab", and it's a verb.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

<li><a href="/get-started/editor-configuration/">3: Editor configuration</a></li>
<li><a href="/get-started/test-drive/">4: Test drive</a></li>
<li><a href="/get-started/codelab/">5: Core concepts codelab</a></li>
<li><a href="/get-started/learn-more/">6: Learn more</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should lose this from the sidenav. Only link it from the end of the codelab.

For independent "learn more", we'll have flutter.io/docs

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm going to keep this for now, havn't fully understood how /docs plays into this.

firebase.json Outdated
"type": 301
},
{
"source": "/setup-ide",
Copy link
Contributor

Choose a reason for hiding this comment

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

This page doesn't exist. You probably meant https://flutter.io/ide-setup/.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch, fixed

@@ -0,0 +1,85 @@
---
layout: page
title: "Get Started: Editor Configuration"
Copy link
Contributor

Choose a reason for hiding this comment

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

Configure Editor

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

@@ -0,0 +1,174 @@
---
layout: page
title: "Get Started: Test Drive an App"
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure if we want "an App" there. You're test driving the tooling here, the SDK.

Copy link
Member Author

Choose a reason for hiding this comment

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

Changed to just Test Drive

@@ -0,0 +1,26 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

FYI, much of this work is duplicated in the new flutter.io/docs page (#817).

If you want, we could just link to that, and set up Google Analytics to track the funnel strictly (only people coming from codelab to the docs page count to the funnel's last step).

Copy link
Member Author

Choose a reason for hiding this comment

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

I have not heard of that page before now (and don't see it staged anywhere), so hard for me to comment on that. The goal of this last learn more step is not to offer an list of all docs; it's to offer a short, opinionated list of likely next steps.

title: Flutter installation & setup
permalink: /setup/
title: "Get Started: Install Flutter"
permalink: /get-started/install/
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add a link to test-drive at the end of this file as well? I know in theory people will go to setup-<platform> and continue to test-drive from there, but I think there'll inevitably be people who will expect a "next step" link here as well.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

@mit-mit
Copy link
Member Author

mit-mit commented Feb 25, 2018

Thanks for the feedback @filiph, incorporated, and pushed to git and staging.

@Sfshaza I merged with your codelab also, please review (main changes are fixing outgoing links, and adding next step at the end)

formatting.md Outdated
Install the `Dart-Code` plugin (see [Editor setup](/get-started/editor/)
to enable automatic formatting of code in VS Code.

To automatically format the code in the current source code window, right-click
Copy link
Contributor

Choose a reason for hiding this comment

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

VS Code has some settings that are probably relevant here:

  • editor.formatOnSave
  • editor.formatOnType
  • editor.formatOnPaste

All of these should work with Dart Code and I think we should encourage people to turn them on (they can do so globally, or just for Dart by using language-specific settings).

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

1. Specify a location to place the project, and press the blue OK button
1. Wait for the project creation to continue, and the `main.dart` file to appear

The above command creates a Flutter project directory called `myapp` that contains a simple demo
Copy link
Contributor

Choose a reason for hiding this comment

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

This says myapp but a few lines up it says firstapp; I think they're supposed to be the same?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch, fixed

The above command creates a Flutter project directory called `myapp` that contains a simple demo
app that uses [Material Components](https://material.io/guidelines/).

In the project directory, the code for your app is in `myapp/lib/main.dart`.
Copy link
Contributor

Choose a reason for hiding this comment

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

In some places in this text the paths are relative to the project (eg. lib/main.dart in the hot reload section) but this one includes the project folder; I think they should be consistent (I think without the project folder prefix may be best, but don't feel strongly).

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed

formatting.md Outdated

Automatic formatting of code is supported in IntelliJ if you have the
`Dart` plugin (see [IntelliJ setup](/ide-setup/)).
Install the the `Dart` plugin (see [Editor setup](/get-started/editor/)
Copy link
Contributor

Choose a reason for hiding this comment

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

This line has an unclosed paren

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed

formatting.md Outdated

To automatically format the code in the current source code window, right-click
in the code window and select `Reformat with Dart style`. You can add a keyboard
shortcut to this in Keymap section of IntelliJ Preferences.

### Automatically formatting code in VS Code

Install the `Dart-Code` plugin (see [Editor setup](/get-started/editor/)
Copy link
Contributor

Choose a reason for hiding this comment

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

This one has unclosed paren too (also, it suggests editor page has a section in enabling automatic formatting, but I can't see it; though the next paragraph explains how to sort-of-automatically-but-not-on-type format).

Copy link
Member Author

Choose a reason for hiding this comment

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

Fidex


### Install VS Code

* [VS Code](https://code.visualstudio.com/), version 1.19 or later.
Copy link
Contributor

Choose a reason for hiding this comment

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

Currently we need 1.20.1 but we also bump along with Code updates pretty frequently (since things in Code change quite frequently) so it might be best not to mention this (or encourage latest stable)? Unlike with some IDEs, I don't think updating Code is a big deal (it doesn't bring new versions of .NET, for ex like Visual Studio does) so users probably won't be reluctant to do it (I think it auto-updates by default on all platforms too?).

Copy link
Member Author

Choose a reason for hiding this comment

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

I just updated it to 1.20.1. Would be nice if you could help update this when you take a new version dependency.

@DanTup
Copy link
Contributor

DanTup commented Feb 25, 2018

It'd be good if the selected editor persisted across pages (eg. when going from Configure Editor to Test Drive); maybe we should drop something in localStorage/cookie/whatever and then re-select on page loads (this way it could be carried around the whole site easily)?

@filiph
Copy link
Contributor

filiph commented Feb 26, 2018

@DanTup: I don't think we have time to do that before merging. Can you open an issue?

@mit-mit: Thanks, this looks really good. I actually liked the step numbers in the side navigation. That way it looked more like a flow and less like an assorted bunch of pages.

@mjohnsullivan: Could you review, please? https://flutter-website-staging.firebaseapp.com/

@DanTup
Copy link
Contributor

DanTup commented Feb 26, 2018

@filiph

@DanTup: I don't think we have time to do that before merging. Can you open an issue?

Sure - but where? Seems like this repo has Issues disabled?

@filiph
Copy link
Contributor

filiph commented Feb 26, 2018

@DanTup: Yeah, the Flutter team has opted to only have one Issues repo, and that's flutter/flutter.

@DanTup
Copy link
Contributor

DanTup commented Feb 26, 2018

Makes sense! Done @ flutter/flutter#14888

@filiph
Copy link
Contributor

filiph commented Feb 26, 2018

FYI: I just ran this with #816 (checks inbound links) and found no issues.

@mit-mit mit-mit merged commit 5812ac3 into flutter:master Feb 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Contributor has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants