百优A精美图库欢迎您!http://www.baiua.com
当前位置:游戏动漫

c:foreach map Dart更近一步,Sky会一统江湖吗?

2015年6月27日 9:08:46   阅读(364)

淘 律动英文儿歌 06 Reach for the Sky


精彩内容:

从接触编程到现在,除了搞过几天JQuery,几乎没怎么写过Javascript,刚刚看了两篇介绍 ECMAScript6 的文章,突然觉得没写过JS也没什么好遗憾的。

ES6 好像从2009年就开始制定了,现在终于支持 forEach、for-in等操作,也支持Map、Set等数据类型,而且为了考虑兼容性问题居然引入了一个for-of,不过看到Githut上关于 github 语言的统计数据,不得不佩服JS社区强大的生产力。

话说回来,Dart 作为一个崭新的语言,自诞生那天起就抛去了向下兼容的历史包袱,而且可以直接转成 Javascript,Chrome 的 V8 团队还专门为 Dart 做了一个虚拟机 - Dartium。

Dart 目的跟 Node 一样,也是为了统一前后端开发,这一点在上一篇文章 (Dart是一个怎样的语言?)已经说过了,所以用 Dart 做 web 开发也没有额外的学习成本,当然前提是你得会写 Dart。

官方教程提供的一个简单的 web 开发教程 - Avast, Ye Pirates: Write a Web App,用DartEditor导入后,工程结构如下图所示:

有css,有html,一个最简单的web工程(没有后端),在 DartEditor中可以用两种方式来运行这个工程。

如果选择了 Dartium,编译成功后会唤起一个使用了 Dartium 引擎的 chrome 浏览器,而过选择了Run as JavaScript就会先把 dart 编译成 js 的工程(工程结构图中灰色的部分),然后唤起一个使用了 V8 引擎的 chrome 浏览器。

其实用 Dart 做开发还是挺方便的,js 都是可以直接拿来用的,但是社区不成熟,不像 node 社区那样有那么多的库。

我们再来看看下一代 Android 开发框架 - sky,今天照着 readme 玩了一下官方提供的几个demo,流畅度可以跟 native 媲美,但是需要从网络加载代码,所以启动时间比较慢,毕竟只是一个实验版本,像 react-native 那样做个本地缓存也不会有什么问题。

整个开发过程与上面的 web 开发非常相似,只不过代码文件的后缀名换了而已。

首先需要创建一个 pubspec.yaml,类似于 Node 的package.json或者gradle 脚本的build.gradle,主要是一些包依赖关系和 APP 的基本信息,最后一行表示依赖最新版本的 sky。

在当前目录下执行 pub get,会根据pubspec.yaml的依赖配置获取 APP 所依赖的包。

执行完毕后会发现在本地多了一个 package文件夹,里面有刚刚下载的两个包。

pub会首先把下载来的包缓存到本地,如果有的新的下载可以直接引用之前下载过的包。

sky 我们都知道了,它就是 Android 全新的开发框架,由两部分组成:

简单来说,Sky engine是一个图形系统,VDOM 的创建和diff应该也是它负责的,而Sky framework则是一个UI库,提供了我们创建 VDOM 时所需的节点元素。

那mojo 又是什么呢?

简单来说,mojo 就是 sky 的运行时环境,但是 domokit 下还有一个mojo-sdk,这个 sdk 为我们提供给了基于 mojo 做二次开发所用到的 API。

它支持很多种语言,目前为止包括 C、CPP、Dart、Go、Java、js。

也就是说,Google 想打造的是这样一个生态系统。

图中的 mojo 看起来特别像当年微软推出的 mono,希望 Google 能够早日一统江湖吧,解放我们码农,从吊丝变成高富帅,从此走向人生巅峰。


相关图片:

Marijuana prices: Map shows average pot price

↑图:Marijuana prices: Map shows average pot price

Benefit of permanent non-fire refugia for Lepido

↑图:Benefit of permanent non-fire refugia for Lepido

Revealing spatio-spectral electroencephalogra

↑图:Revealing spatio-spectral electroencephalogra

基于的spark-sl实战-01 - stark_sum

↑图:基于的spark-sl实战-01 - stark_sum

Re-annotation of the CAZy genes of Trichoderm

↑图:Re-annotation of the CAZy genes of Trichoderm

n arachnoid granulations Part I: a techniue for

↑图:n arachnoid granulations Part I: a techniue for

Rearchitecting GitHub Pages-MySL-第七城市

↑图:Rearchitecting GitHub Pages-MySL-第七城市

NYPL old photos interactive map - Business Ins

↑图:NYPL old photos interactive map - Business Ins

Self-Driving Trucks Are Going to Hit Us Like a H

↑图:Self-Driving Trucks Are Going to Hit Us Like a H

The effect of environmental change on vascular

↑图:The effect of environmental change on vascular

第1页 第2页


关键词: foreach map  c foreach用法  c标签foreach  c foreach index  c中foreach的用法