Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up into several files based on the class hierarchy. Fortunately, many of these classes are loosely coupled to each other.
Getting Started with Sky
Sky apps are written in Dart. To get started, we need to set up Dart SDK:
- Install the Dart SDK:
- Mac:
brew tap dart-lang/dart && brew install dart - Linux: See https://www.dartlang.org/downloads/linux.html
- Mac:
- Ensure that
$DART_SDKis set to the path of your Dart SDK and that thedartandpubexecutables are on your$PATH.
Once you have installed Dart SDK, create a new directory and add a pubspec.yaml:
name: your_app_name
dependencies:
sky: any
sky_tools: any
Next, create a lib directory (which is where your Dart code will go) and use
the pub tool to fetch the Sky package and its dependencies:
mkdir libpub upgrade
Sky assumes the entry point for your application is a main function in
lib/main.dart:
import 'package:sky/widgets/basic.dart';
class HelloWorldApp extends App {
Widget build() {
return new Center(child: new Text('Hello, world!'));
}
}
void main() {
runApp(new HelloWorldApp());
}
Execution starts in main, which in this example runs a new instance of the HelloWorldApp.
The HelloWorldApp builds a Text widget containing the traditional Hello, world!
string and centers it on the screen using a Center widget. To learn more about
the widget system, please see the
widgets tutorial.
Setting up your Android device
Currently Sky requires an Android device running the Lollipop (or newer) version of the Android operating system.
-
Install the
adbtool from the Android SDK: -
Mac:
brew install android-platform-tools -
Linux:
sudo apt-get install android-tools-adb -
Enable developer mode on your device by visiting
Settings > About phoneand tapping theBuild numberfield five times. -
Enable
Android debugginginSettings > Developer options. -
Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.
Running a Sky application
The sky pub package includes a sky_tool script to assist in running
Sky applications inside the SkyShell.apk harness. The sky_tool script
expects to be run from the root directory of your application's package (i.e.,
the same directory that contains the pubspec.yaml file). To run your app,
follow these instructions:
-
./packages/sky/sky_tool startto start the dev server and upload your app to the device. (NOTE: add a--installflag to installSkyShell.apkif it is not already installed on the device.) -
Use
adb logcatto view any errors or Dartprint()output from the app.adb logcat -s skycan be used to filter only adb messages fromSkyShell.apk.
Debugging
Sky uses 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 APK
Although it is possible to build a standalone APK containing your application,
doing so right now is difficult. If you're feeling brave, you can see how we
build the Stocks.apk in
examples/stocks.
Eventually we plan to make this much easier and support platforms other than
Android, but that work still in progress.