| OLD | NEW |
| 1 Sky | 1 Sky |
| 2 === | 2 === |
| 3 | 3 |
| 4 Sky is an experimental, high-performance UI framework for mobile apps. Sky helps | 4 Sky is an experimental, high-performance UI framework for mobile apps. Sky helps |
| 5 you create apps with beautiful user interfaces and high-quality interactive | 5 you create apps with beautiful user interfaces and high-quality interactive |
| 6 design that run smoothly at 120 Hz. | 6 design that run smoothly at 120 Hz. |
| 7 | 7 |
| 8 Sky consists of two components: | 8 Sky consists of two components: |
| 9 | 9 |
| 10 1. *The Sky engine.* The [engine](engine) is the core of the system system. | 10 1. *The Sky engine.* The [engine](engine) is the core of the system system. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 ``` | 43 ``` |
| 44 | 44 |
| 45 Execution starts in `main`, which creates the `HelloWorldApp`. The framework | 45 Execution starts in `main`, which creates the `HelloWorldApp`. The framework |
| 46 then marks `HelloWorldApp` as dirty, which schedules it to build during the next | 46 then marks `HelloWorldApp` as dirty, which schedules it to build during the next |
| 47 animation frame. Each animation frame, the framework calls `build` on all the | 47 animation frame. Each animation frame, the framework calls `build` on all the |
| 48 dirty components and diffs the virtual `Node` hierarchy returned this frame with | 48 dirty components and diffs the virtual `Node` hierarchy returned this frame with |
| 49 the hierarchy returned last frame. Any differences are then applied as mutations | 49 the hierarchy returned last frame. Any differences are then applied as mutations |
| 50 to the physical heiarchy retained by the engine. | 50 to the physical heiarchy retained by the engine. |
| 51 | 51 |
| 52 For a more featureful example, please see the | 52 For a more featureful example, please see the |
| 53 [example stocks app](examples/stocks-fn/lib/stocks_app.dart). | 53 [example stocks app](examples/stocks/lib/stocks_app.dart). |
| 54 | 54 |
| 55 Services | 55 Services |
| 56 -------- | 56 -------- |
| 57 | 57 |
| 58 Sky apps can access services from the host operating system using Mojo. For | 58 Sky apps can access services from the host operating system using Mojo. For |
| 59 example, you can access the network using the `network_service.mojom` interface. | 59 example, you can access the network using the `network_service.mojom` interface. |
| 60 Although you can use these low-level interfaces directly, you might prefer to | 60 Although you can use these low-level interfaces directly, you might prefer to |
| 61 access these services via libraries in the framework. For example, the | 61 access these services via libraries in the framework. For example, the |
| 62 `fetch.dart` library wraps the underlying `network_service.mojom` in an | 62 `fetch.dart` library wraps the underlying `network_service.mojom` in an |
| 63 ergonomic interface: | 63 ergonomic interface: |
| (...skipping 17 matching lines...) Expand all Loading... |
| 81 -------------- | 81 -------------- |
| 82 | 82 |
| 83 We're documenting Sky with a [set of technical specifications](specs) that | 83 We're documenting Sky with a [set of technical specifications](specs) that |
| 84 define precisely the behavior of the engine. Currently both the implementation | 84 define precisely the behavior of the engine. Currently both the implementation |
| 85 and the specification are in flux, but hopefully they'll converge over time. | 85 and the specification are in flux, but hopefully they'll converge over time. |
| 86 | 86 |
| 87 Contributing | 87 Contributing |
| 88 ------------ | 88 ------------ |
| 89 | 89 |
| 90 Instructions for building and testing Sky are contained in [HACKING.md](HACKING.
md). | 90 Instructions for building and testing Sky are contained in [HACKING.md](HACKING.
md). |
| OLD | NEW |