sky简介
sky简介
sky是一种构建高性能、跨平台手机APP的新的途径。更值得关注的是,sky是一种渲染引擎、脚本引擎、一个框架和一系列的材料设计模式的窗体组件。sky是当前以及未来手机APP的一种优化手段。sky专注于解决在Android和IOS系统上的低延迟输入和高帧率。
Getting Started with Sky
sky app是用dart写的,我们首先得下载安装dart SDK
- 安装Dart SDK
- Mac:
brew tap dart-lang/dart && brew install dart
- Linux: 见 https://www.dartlang.org/downloads/linux.html
- 确认环境变量 DART_SDK 已经被设定为 Dart SDK 的路径,并且 dart 和 pub 这两个可执行文件在环境变量 PATH 中
安装 Dart SDK 完成后,创建一个新的目录并且添加一个新的文件 pubspec.yaml:
name: your_app_name
dependencies:
sky: any
sky_tools: any
然后,创建一个 lib 文件夹(放置dart代码)并用 pub 工具获取sky包和依赖关系
mkdir lib
pub update
sky假定你的程序入口是lib/main.dart
中的main
方法:
import 'package:sky/widgets.dart';
class HelloWorldApp extends App {
Widget build() {
return new Center(child: new Text('Hello, world!'));
}
}
void main() {
runApp(new HelloWorldApp());
}
从main
开始执行,在这个例子中跑起来HelloWorldApp
实例。HelloWorldApp
构建了一个Text
组件,内部包含了一个传统的Hello, world!
字符串,使用一个Center
控件放置在屏幕中心位置。
Setting up your Android device
目前,sky需要运行在安卓L版本或者更高的版本上。
- 安装
adb
- 打开设备上的开发者模式,通过
Settings > About phone
,点击Build number
区域五次 - 打开开发者选项,通过
Settings > Developer options
- 使用USB线连接手机到电脑上。如果手机上有提示,授权将电脑连接上手机。
Running a Sky application
sky应用程序包中包含一个sky_tool
脚本,包含在SkyShell.apk
工具中协助sky应用运行。sky_tool
脚本从应用包的根目录开始运行(例如:同样的目录下包含了文件pubspec.yaml
)。运行APP时,请遵从如下建议:
- 第一次:
./packages/sky/sky_tool start --install --checked && adb logcat -s sky chromium
- 之后:
./packages/sky/sky_tool start --checked && adb logcat -s sky chromium
命令sky_tool start
启动设备服务并将应用加载到设备上。如果手机上没有已经安装了这个应用过,--install
标记会安装SkyShell.apk
。--checked
标记触发检查模式,此时类型会被检查,断言会开始运行,各种调试特性都会被打开。命令adb logcat
会打印出出错log,dart语句print()
会从app中打印出来。参数-s sky chromium
会将输出限制在sky dart 代码和sky引擎c++代码的输出,这个现象是处于历史的原因。
为了避免和旧的log信息引起的混淆,在运行sky_tool start
之前应该运行adb logcat -c
去清除两次运行之间的log。
Debugging
sky使用observation进行调试和性能分析。当你使用sky_tool
运行sky app时,可以使用浏览器加载http://localhost:8181
来使用observation。
Building a standalone APK
虽然在应用中构建了一个独立的APK是可能的,但是现在这么做是非常困难的。最后,我们计划将这些变得简单并且支持更多的平台而不只是Android平台,这些工作正在进行中。
跟本文相关的请见如下链接:
https://github.com/domokit/sky_engine
https://github.com/domokit/sky_engine/blob/master/sky/packages/sky/README.md
posted on 2015-08-27 22:15 hackerkevin 阅读(847) 评论(1) 编辑 收藏 举报