牛骨文教育服务平台(让学习变的简单)

卷首语

Dart语言的未来在哪里?

Google推出的Go语言这两年火的是一塌糊涂,而同样是亲爹生的Dart语言这些年却一直不温不火。什么是Dart语言了?我先来简单解释下:

Dart是Google于2011年发布的一门开源编程语言,目标是为开发现代Web程序提供结构化但又不乏灵活性的编程语言,其实就是弥补JavaScript的不足。Dart在JavaScript语言的基础上,改进了编程效率和执行性能,大幅度减少了编程的复杂性。相比JavaScript,Dart语言更加简单和高效,它支持类和接口,是一门纯面向对象的语言。Dart在动态语言的基础上,结合了静态语言的优点,有很多不错的特性,比如可选类型、并发编程、工厂构造函数、级联调用。Dart代码可以用两种不同方式执行:一是通过原生的虚拟机(可以集成到浏览器);另一种则是通过Google的Dart2js编译器将Dart代码转换为JavaScript代码,然后再执行。

从发布之初,Dart语言要做的就是颠覆JavaScript,确实,JavaScript这门语言缺陷有很多,不过这也可以理解,因为JavaScript从设计到发布仅有几个月的时间,可以说非常仓促。而Dart语言在设计时借鉴了很多现代语言的思路,它在性能、易用性等方面都远远超过了JavaScript。但从现在的情况来看,Dart语言似乎并没有发展起来。这从最近的新闻里就能看出来,4月,谷歌确认他们不会再将Dart VM集成到Chrome中,也就是说,要使用Dart语言替换JavaScript几乎不可能,因为现在用户只能使用编译为JavaScript的方式使用Dart。

也许Google对Dart语言的定位早有了变化,所以才宣布在Chrome中放弃Dart。Android应用基本都是使用Java创建的,这俩还打过不少官司,Google也是吃了不少哑巴亏。5月初,Google发布了跨平台框架:Sky。Sky基于Dart语言编写,因为Dart本身就是与平台无关的,所以Sky的目标是跨平台。最近比较火的跨平台框架是react-native,Sky其实和React差不多,或者说是参考了React的设计哲学,只不过一个使用JavaScript,一个使用Dart。

当然,问题又回来了,有了React,为什么还要用Sky?JavaScript已经获得了各个平台的支持,所以React推广起来也不费事,但Dart又面临的同样的问题,其它平台会支持Dart吗?

不管怎么样,Dart终是迈出了属于自己的一大步