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

Unified Diff: sky/sdk/README.md

Issue 1199753002: Update sky/README.md to refer to Sky Widgets (Closed) Base URL: git@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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/README.md
diff --git a/sky/sdk/README.md b/sky/sdk/README.md
index e0b8a09e5416fe7ed5702468598d908fedc15451..315c782f0dff5c71ba0a41d277543ff1678e58e2 100644
--- a/sky/sdk/README.md
+++ b/sky/sdk/README.md
@@ -46,7 +46,7 @@ adding a [pubspec.yaml](https://www.dartlang.org/tools/pub/pubspec.html):
```yaml
name: your_app_name
dependencies:
- sky: any
+ sky: any
```
Once the pubspec is in place, create a `lib` directory (where your dart code
@@ -56,44 +56,39 @@ run the following:
`pub get && pub run sky:init`.
Currently the Sky Engine assumes the entry point for your application is a
-`main` function located inside a `main.sky` file at the root of the package.
-`.sky` is an html-like format:
-```
-<sky>
-<script>
-import 'package:your_app_name/main.dart';
-
-void main() {
- new HelloWorldApp();
-}
-</script>
-</sky>
-```
-
-The rest of the application then goes inside the `lib` directory of the package
-thus `lib/main.dart` would be:
+`main` function in a Dart file inside your package:
```dart
-import 'package:sky/framework/fn.dart';
+import 'package:sky/widgets/basic.dart';
class HelloWorldApp extends App {
- UINode build() {
+ Widget build() {
return new Text('Hello, world!');
}
}
+
+void main() {
+ runApp(new HelloWorldApp());
+}
```
-Execution starts in `main`, which creates the `HelloWorldApp`. The framework
-then marks `HelloWorldApp` as dirty, which schedules it to build during the next
-animation frame. Each animation frame, the framework calls `build` on all the
-dirty components and diffs the virtual `UINode` hierarchy returned this frame
-with the hierarchy returned last frame. Any differences are then applied as
-mutations to the physical hierarchy retained by the engine.
+Execution starts in `main`, which instructs the framework to run a new
+instance of the `HelloWorldApp`. The framework then calls the `build()`
+function on `HelloWorldApp` to create a tree of widgets, some of which might
+be other `Components`, which in turn have `build()` functions that generate
+more widgets iteratively to create the widget hierarchy.
-Skip down to "Running a Sky application" to learn how to load and run this
-example on your device.
+Later, if a `Component` changes state, the framework calls that component's
+`build()` function again to create a new widget tree. The framework diffs the
+new widget tree against the old widget tree and any differences are applyed
+to the underlying render tree.
-For examples, please see the [examples directory](examples/).
+ * To learn more about the widget system, please see the
+ [widgets tutorial](lib/widgets/README.md).
+ * To learn how to run Sky on your device, please see the
+ [Running a Sky application](#running-a-sky-application) section in this
+ document.
+ * To dive into examples, please see the [examples directory](examples/).
Services
--------
@@ -106,7 +101,7 @@ access these services via libraries in the framework. For example, the
ergonomic interface:
```dart
-import 'package:sky/framework/net/fetch.dart';
+import 'package:sky/mojo/net/fetch.dart';
main() async {
Response response = await fetchBody('example.txt');
@@ -120,14 +115,14 @@ Set up your computer
1. Install the Dart SDK:
- https://www.dartlang.org/tools/download.html
-2. Install the ``adb`` tool from the Android SDK:
+2. Install the `adb` tool from the Android SDK:
- https://developer.android.com/sdk/installing/index.html
3. Install the Sky SDK:
- - ``git clone https://github.com/domokit/sky_sdk.git``
+ - `git clone https://github.com/domokit/sky_sdk.git`
-4. Ensure that $DART_SDK is set to the path of your Dart SDK and 'adb'
- (inside 'platform-tools' in the android sdk) is in your $PATH.
+4. Ensure that `$DART_SDK` is set to the path of your Dart SDK and `adb`
+ (inside `platform-tools` in the android sdk) is in your `$PATH`.
Set up your device
------------------
@@ -135,10 +130,10 @@ Set up your device
Currently Sky requires an Android device running the Lollipop (or newer) version
of the Android operating system.
-1. Enable developer mode on your device by visiting ``Settings > About phone``
- and tapping the ``Build number`` field five times.
+1. Enable developer mode on your device by visiting `Settings > About phone`
+ and tapping the `Build number` field five times.
-2. Enable ``USB debugging`` in ``Settings > Developer options``.
+2. Enable `USB debugging` in `Settings > Developer options`.
3. Using a USB cable, plug your phone into your computer. If prompted on your
device, authorize your computer to access your device.
@@ -147,24 +142,24 @@ Running a Sky application
-------------------------
The `sky` pub package includes a `sky_tool` script to assist in running
-Sky applications inside the `SkyDemo.apk` harness. The sky_tool script expects
-to be run from the root directory of your application pub package. To run
-one of the examples in this SDK, try:
+Sky applications inside the `SkyDemo.apk` harness. The `sky_tool` script
+expects to be run from the root directory of your application pub package. To
+run one of the examples in this SDK, try:
-1. ``cd examples/stocks``
+1. `cd examples/stocks`
-2. ``pub get`` to set up a copy of the sky package in the app directory.
+2. `pub get` to set up a copy of the sky package in the app directory.
-3. ``./packages/sky/sky_tool start`` to start the dev server and upload your
+3. `./packages/sky/sky_tool start` to start the dev server and upload your
app to the device.
- (NOTE: add a ``--install`` flag to install SkyDemo.apk if not already
+ (NOTE: add a `--install` flag to install `SkyDemo.apk` if it is not already
installed on the device.)
-4. Use ``adb logcat`` to view any errors or Dart print() output from the app.
- ``adb logcat -s chromium`` can be used to filter only adb messages from
+4. Use `adb logcat` to view any errors or Dart `print()` output from the app.
+ `adb logcat -s chromium` can be used to filter only adb messages from
`SkyDemo.apk` (which for
[legacy reasons](https://github.com/domokit/mojo/issues/129) still uses the
- android log tag 'chromium').
+ android log tag `chromium`).
Measuring Performance
---------------------
@@ -181,10 +176,9 @@ requires root access on the device.
Debugging
---------
-Dart's [Observatory](https://www.dartlang.org/tools/observatory/)
-(VM Debugger & Profiler) support in Sky is
-[in progress](https://codereview.chromium.org/1107803002) and should
-be released shortly after Dart Summit 2015.
+Sky uses [Observatory](https://www.dartlang.org/tools/observatory/) for
+debugging and profiling. While running your Sky app using `sky_tool`, you can
+access Observatory by navigating your web browser to http://localhost:8181/.
Building a standalone MyApp
---------------------------
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698