Flutter Examples
================

This directory contains several examples of using Flutter.  Each of these is an
individual Dart application package.

To run a sample with the `flutter` tool, run `pub get` inside its directory,
then run `flutter start`. (See the
[getting started guide](https://flutter.github.io/getting-started/) to install
the `flutter` tool.)

Available examples include:

- *Hello, world.* The [hello world app](hello_world) is a basic app that shows
   the text "hello, world."

- *Stocks.* The [stocks app](stocks) is an example of a typical mobile app
   built using Flutter. The app shows a list of all the stocks in the NASDAQ.

- *Widgets.* The [widget apps](widgets) demonstrate a number of Flutter widgets
   so you can experiment with them in a simple container. There is no main.dart
   in this directory because each file is a standalone sample. To run a
   particular file, use `flutter start -t filename.dart`.
