使用HTML 创建Mac OS App 视频教程。
官方QQ群:
(1)App实践出真知 434558944
(2)App学习交流 452180823
 
百度网盘同步:http://pan.baidu.com/s/1jG1Q58M
分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS

谷歌推出全新Android开发语言Sky:让App更流畅

新浪科技 维金

导语:Sky并不依赖于平台,其代码可以运行在Android、iOS,以及任何集成了Dart虚拟机的平台上。这类应用的运行类似于网站。

北京时间5月4日早间消息,除游戏之外的Android应用通常使用Java语言来开发,而谷歌内部的一个团队正在探索全新的应用开发方式。他们利用了谷歌自主的网页开发语言Dart来开发Android应用。这帮助他们专注于速度,并可以与网页进行深度整合。

Dart由Chrome V8引擎的团队成员发明。该团队近期举行了Dart开发者峰会,展示了在Android项目中使用的Dart。在Android项目中使用的Dart并未被称作“Android版Dart”,而是有了一个新名字“Sky”。目前,Sky只是一次开源的尝试。但相对于传统的Android应用开发方式,Sky有着多方面优势。

Sky的最主要目的包括提高运行速度和响应速度。在大部分设备上,应用流畅的标准都是实现60FPS的帧率。不过,Dart团队希望实现高达120FPS的帧率。目前在Android平台上,许多应用连标准的60FPS帧率都难以达到,更不用说120FPS。60FPS的帧率要求每16毫秒绘制一帧,当画面绘制速度达不到这一水平时,应用就会出现卡顿。

Dart团队展示了一款演示应用,每帧的绘制速度仅为1.2毫秒。尽管这只是一次简单的展示,但这意味着,对于开发流畅而复杂的应用来说,Sky有着很大的空间,这也使120FPS的帧率成为了可能。该团队表示,Sky的应用程序接口(API)不会影响界面的主线程,这意味着即使应用运行速度变慢,用户界面仍将保持流畅的响应速度。

Sky并不依赖于平台,其代码可以运行在Android、iOS,以及任何集成了Dart虚拟机的平台上。这类应用的运行类似于网站。应用的很大一部分基于HTTP,这意味着开发者可以进行持续的开发,并确保所有用户一直使用最新版本。这款演示应用的弱点在于无法离线运行,而启动应用则需要1到2秒钟时间,因为应用需要下载数据。不过,这两方面的问题可以通过缓存机制来解决。

基于HTTP的模式使开发变得很简单。开发者不必编辑代码、编译并打包,这些代码可以在HTTP服务器上编辑。而用户只需关闭并重新打开应用,即可完成应用的“升级”。这就像是一款网页浏览器。Android开发者可以使用Sky Framework,这提供了一整套Material Design小工具,帮助开发者方便地增加操作栏、触控效果、导航面板,以及Android应用中所需的一切元素。

与普通应用类似,Sky应用可以获得Android的全部权限和API,但结合来自网页服务器的自动升级功能,这将带来信息安全问题。不过目前,Sky仅仅只是一个试验项目。在Sky成为一种主流的Android应用解决方案之前,Sky团队需要解决这些问题。该团队的GitHub页面显示:“我们仍在对Sky进行频繁地迭代,这意味着框架和底层引擎有可能以不兼容的方式出现改变。”

谷歌推出全新Android开发语言Sky:让App更流畅的更多相关文章

  1. Google推Android新开发语言Sky:流畅度 秒iOS

    Dart初衷 作为当前市占率最高的智能手机操作系统,Android平台正在吸引着越来越多的开发者. 不过,对用户而言,Android的体验还不够完善,卡顿的情况时有发生.再深入点理解,许多应用的帧率达 ...

  2. 谷歌protobuf(protocol-buffers)各种开发语言数据类型转换说明

    官方文档:https://developers.google.cn/protocol-buffers/docs/proto proto2 proto3

  3. android开发实战-记账本APP(一)

    记账本开发流程: 对于一个记账本的初步开发而言,我实现的功能有: ①实现一个记账本的页面 ②可以添加数据并更新到页面中 ③可以将数据信息以图表的形式展现 (一)首先,制作一个记账本的页面. ①在系统自 ...

  4. android开发实战-记账本APP(二)

    继昨天的开发,继续完成今天的内容. (一)开始构建一些业务逻辑,开始构建记账本的添加一笔记账的功能. ①对fab按钮的click时间进行修改,创建一个AlertDialog.Builder对象,因此我 ...

  5. Android 开发笔记___登陆app

    package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import android.con ...

  6. android 开发禁止系统修改app的字体大小

    重写activity的getResources方法,一般在BaseActivity中重写就好了,其他activity继承BaseActivity //设置字体大小不随手机设置而改变 @Override ...

  7. 如何看待 Kotlin 成为 Android 官方支持开发语言?

    Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...

  8. 如何看待 Kotlin 成为 Android 官方支持开发语言

    Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...

  9. Android开发工具Android Studio、Android SDK和Genymotion完全配置

    所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...

随机推荐

  1. java-线程-生产者-消费者

    概述 在Java中有四种方法支持同步,其中前三个是同步方法,一个是管道方法. wait() / notify()方法 await() / signal()方法 BlockingQueue阻塞队列方法 ...

  2. 学习鸟哥的Linux私房菜笔记(10)——bash2

    七.命令行表达式 命令行输出--" " 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义. 双引号不能将 \ $ ` ! 符号的特殊功能禁止 命令行输出--' ...

  3. python 爬取bilibili 视频弹幕

    # -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/09 下午 4:50 # 爬取弹幕 import requests import j ...

  4. [译]async/await中使用阻塞式代码导致死锁

    原文:[译]async/await中使用阻塞式代码导致死锁 这篇博文主要是讲解在async/await中使用阻塞式代码导致死锁的问题,以及如何避免出现这种死锁.内容主要是从作者Stephen Clea ...

  5. scala 通过apply创建类的对象

    package cn.scala_base.oop.scalaobject; class Boy(name: String) { private var age: Int = 0; println(n ...

  6. spring boot打包后在tomcat无法访问静态资源问题

    我的spring boot项目中前端页面的资源引用 我的静态文件夹是 我的application.yml中资源路径配置了 同时我在WebMvcConfig中配置了addResourceHandlers ...

  7. React Native细节记录

    1.环境搭建部分 安装完node后建议设置npm镜像以加速后面的过程(或使用***工具).注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别! npm config ...

  8. Store-exclusive instruction conflict resolution

    A data processing system includes a plurality of transaction masters (4, 6, 8, 10) each with an asso ...

  9. WPF 的毛玻璃效果

    原文:WPF 的毛玻璃效果 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/76917519 其实很简 ...

  10. 简单推导 PCA

    考虑二维数据降低到一维的例子,如下图所示: 最小化投影方差(maximize projected variance): 1N∑n=1N(uuT1xn−uuT1x¯)=uuT1Suu1,s.t.uuT1 ...