| 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 is the core of the system. Written in C++, the | 10 1. *The Sky engine.* The engine is the core of the system. Written in C++, the |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 --------------------------- | 143 --------------------------- |
| 144 | 144 |
| 145 Although it is possible to bundle the Sky Engine in your own app (instead of | 145 Although it is possible to bundle the Sky Engine in your own app (instead of |
| 146 running your code inside SkyDemo.apk), right now doing so is difficult. | 146 running your code inside SkyDemo.apk), right now doing so is difficult. |
| 147 | 147 |
| 148 There is one example of doing so if you're feeling brave: | 148 There is one example of doing so if you're feeling brave: |
| 149 https://github.com/domokit/mojo/tree/master/sky/apk/stocks | 149 https://github.com/domokit/mojo/tree/master/sky/apk/stocks |
| 150 | 150 |
| 151 Eventually we plan to make this much easier and support platforms other than | 151 Eventually we plan to make this much easier and support platforms other than |
| 152 Android, but that work is yet in progress. | 152 Android, but that work is yet in progress. |
| 153 |
| 154 Adding Services to MyApp |
| 155 ------------------------ |
| 156 |
| 157 [Mojo IPC](https://github.com/domokit/mojo) is an inter-process-communication |
| 158 system designed to provide cross-thread, cross-process, and language-agnostic |
| 159 communication between applications. Sky uses Mojo IPC to make it possible |
| 160 to write UI code in Dart and yet depend on networking code, etc. written in |
| 161 another language. Services are replacable, meaning that Dart code |
| 162 written to use the `network_service` remains portable to any platform |
| 163 (iOS, Android, etc.) by simply providing a 'natively' written `network_service`. |
| 164 |
| 165 Embedders of the Sky Engine and consumers of the Sky Framework can use this |
| 166 same mechanism to expose not only existing services like the |
| 167 [Keyboard](https://github.com/domokit/mojo/blob/master/mojo/services/keyboard/pu
blic/interfaces/keyboard.mojom) |
| 168 service to allow Sky Framework Dart code to interface with the underlying |
| 169 platform's Keyboard, but also to expose any additional non-Dart business logic |
| 170 to Sky/Dart UI code. |
| 171 |
| 172 As and example, [SkyApplication](https://github.com/domokit/mojo/blob/master/sky
/shell/org/domokit/sky/shell/SkyApplication.java) |
| 173 exposes a mojo `network_service` (required by Sky Engine C++ code) |
| 174 [SkyDemoApplication](https://github.com/domokit/mojo/blob/master/sky/apk/demo/or
g/domokit/sky/demo/SkyDemoApplication.java) |
| 175 additionally exposes `keyboard_service` and `sensor_service` for use by the Sky |
| 176 Framework from Dart. |
| OLD | NEW |