| # Examples of Flutter's layered architecture | |
| This directory contains a number of self-contained examples that illustrate | |
| Flutter's layered architecture. | |
| * [*raw/*](raw/) These examples show how to program against the lowest layer of | |
| the system. They manually receive input packets and construct composited | |
| scenes. | |
| * [*rendering/*](rendering/) These examples use Flutter's render tree to | |
| structure your app using a retained tree of visual objects. These objects | |
| coordinate to determine their size and position on screen and to handle | |
| events. | |
| * [*widgets/*](widgets/) These examples use Flutter's widgets to build more | |
| elaborate apps using a reactive framework. | |
| * [*services/*](services/) These examples use services available in Flutter to | |
| interact with the host platform. | |
| To run each example, specify the demo file on the `flutter run` | |
| command line, for example: | |
| ``` | |
| flutter run raw/spinning_square.dart | |
| flutter run rendering/spinning_square.dart | |
| flutter run widgets/spinning_square.dart | |
| ``` |