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 libpub 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
sky简介的更多相关文章
- 驱动开发--【字符设备、块设备简介】【sky原创】
驱动开发 字符设备,块设备,网络设备 字符设备 以字节流的方式访问, 不能随机访问 有例外,显卡.EEPROM可以随机访问 EEPROM可以擦写1亿次,是一种字符设备,可以随机访问 读写是 ...
- 全链路跟踪skywalking简介
该文章主要包括以下内容: skywalking的简介 skywalking的使用,支持多种调用中间件(httpclent,springmvc,dubbo,mysql等等) skywalking的tra ...
- Linux Kernel 0.12 启动简介,调试记录(Ubuntu1804, Bochs, gdb)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
随机推荐
- IOS系列swift语言之课时五
过了几天没来理博客了,这次我们要讲的有:类,属性,初始化init(),初始化器,构造器等 直接刷代码了....... //: Playground - noun: a place where peop ...
- DIOCP之编写第一个应用程序(三)
Client 设计功能如下: 1.建立与服务器连接 2.请求连接时,加密密码,采用Base64编码 3.定时发送心跳告诉服务器在线(长连接,用于接收推送信息) 4.进行相关的数据处理与交互 第一步:创 ...
- TDI - Transport Driver Interface
[TDI - Transport Driver Interface] The Transport Driver Interface or TDI is the protocol understood ...
- i2c协议简要分析(转载)
声明 本文大部分内容为转载,因此标定为转载 源地址: http://www.cnblogs.com/zym0805/archive/2011/07/31/2122890.html http://blo ...
- oracle异常写法
EXCEPTION WHEN OTHERS THEN V_ALARM_MSG := SQLERRM; --错误日志表 V_SQLTEXT := 'CALL DD_PAK.ERRLOG(:V1,:V2, ...
- CC1310之使用SMARTRF STUDIO
SMARTRF STUDIO是TI提供的射频测试软件,在调射频的时候非常非常非常好用,推荐每一个使用TI射频芯片的工程师都要掌握. 1 如何使用? 要使用SMARTRF STUDIO,硬件必须连接仿真 ...
- 【POJ2828】Buy Tickets(线段树)
题意:有一个输入序列,每次操作要把b[i]插入到第a[i]个,在第a[i]个后面的要后移,问最后序列. n<=200000 思路:顺序来只能用splay维护 考虑倒序,对于插入到第K个位置,在线 ...
- autoLayout约束图解
- TCP发消息续传文件
1.自定义固定协议头部.格式:([head][body][filestream]) /// <summary> /// 数据包头部 /// </summary> [Struct ...
- NGUI 新手引导
现在我们的游戏已到了开发后期,这个时候需要做新手引导这一块(恶心的新手引导,真想说游戏行业究竟哪个2B最先想出来要引导的???代码搞的到处都是,改了一次又改!) 吐槽过后进入正题:主要还是UI相关的操 ...