Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: sky/sdk/lib/README.md

Issue 1182053012: Rename editing2/ and theme2/ to editing/ and theme/. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/sdk/BUILD.gn ('k') | sky/sdk/lib/editing2/editable_string.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/lib/README.md
diff --git a/sky/sdk/lib/README.md b/sky/sdk/lib/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4b58e3c3ea2a61f529f58309270721c78990fd63
--- /dev/null
+++ b/sky/sdk/lib/README.md
@@ -0,0 +1,66 @@
+SKY SDK
+========
+
+Sky and Sky's SDK are designed as layered frameworks, where each layer
+depends on the ones below it but could be replaced wholesale.
+
+The bottom-most layer is the Sky Platform, which is exposed to Dart
+code as various ```dart:``` packages, including ```dart:sky```.
+
+The [base/](base/) directory contains libraries that extend these core
+APIs to provide base classes for tree structures
+([base/node.dart](base/node.dart)), hit testing
+([base/hit_test.dart](base/hit_test.dart)), debugging
+([base/debug.dart](base/debug.dart)), and task scheduling
+([base/scheduler.dart](base/scheduler.dart)).
+
+Above this are the files in the [painting/](painting/) directory,
+which provide APIs related to drawing graphics, and in the
+[animation/](animation/) directory, which provide core primitives for
+animating values.
+
+Layout primitives are provided in the next layer, found in the
+[rendering/](rendering/) directory. They use ```dart:sky``` and the
+APIs exposed in painting/ to provide a retained-mode layout and
+rendering model for applications or documents.
+
+Widgets are provided by the files in the [widgets/](widgets/)
+directory, using a reactive framework. They use data given in the
+[theme/](theme/) directory to select styles consistent with Material
+Design.
+
+Text input widgets are layered on this mechanism and can be found in
+the [editing/](editing/) directory.
+
+Alongside the above is the [mojo/](mojo/) directory, which contains
+anything that uses the Mojo IPC mechanism, typically as part of
+wrapping host operating system features. Some of those Host APIs are
+implemented in the host system's preferred language.
+
+Here is a diagram summarising all this:
+
+```
+ +-----------------------------+ ------
+ | YOUR APP |
+ | +--------------------+--+
+ | | [editing/](editing/) | |
+ | +--+-------------------++ |
+ | | [widgets/](widgets/) ([theme/](theme/)) | |
+ | ++---------------------++ | Dart
+ | | [rendering/](rendering/) | |
+ +-+---------+------------+ |
+ | [painting/](painting/) | [animation/](animation/) | |
+ +---------------+--------+ |
+ | [base/](base/) | [mojo/](mojo/) |
+ +------------+--+-+----+------+ -------
+ | dart:sky | | | Host |
+ +--------+---+ | | APIs | C++
+ | Skia | [Dart](https://api.dartlang.org/) | +------+ ObjC
+ +--------+--------+ | Java
+ | Mojo |
+ +-----------------------------+ -------
+ | Host Operating System | C/C++
+ +-----------------------------+ -------
+```
+
+TODO(ianh): document dart:sky and the Host APIs somewhere
« no previous file with comments | « sky/sdk/BUILD.gn ('k') | sky/sdk/lib/editing2/editable_string.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698