Google的Dart编程语言即将登陆服务器

boyanx6个月前技术教程16

几天前的I/O开发者大会上,Google悄然宣布,正在努力工作让其Dart编程语言尽快登陆App Engine。

这一实现的基础源于该公司最近推出的管理虚拟机以及该服务的定制运行环境支持。然而,由于定制运行环境支持仍处于内部测试阶段,Dart团队还无法将此向公众开放,不过Google在I/O大会上提前揭露了一些相关特性,让Dart开发者们先睹为快。

大多数开发者将Dart视作JavaScript的代替者。从许多方面上看,这么说很合理,毕竟它有着明显类似于JavaScript的目标用例,而且Google提供了一版集成Dart虚拟机的Chrome浏览器。Google还为Web开发者提供了一个Dart到JavaScript的编译器以及其它许多工具。不过Dart背后的野心远远不止于此,所以当你听到该团队要将其运行环境搬上App Engine及其它的服务器上去时,大可不必惊讶。

我有幸与拉斯·巴克(Lars Bak)、卡斯珀·伦德(Kasper Lund)这两位发明Dart语言的丹麦人(巴克还开发了Google的V8 JavaScript引擎)坐下来谈谈Dart的新鲜事、现状以及未来。

他们指出,Dart背后最原始的理念是打造一种通用的编程语言。项目开始时,他们并不只是想要打造某种JavaScript的变种。他们想要打造出一种开发者易于上手、能够提高开发者生产力的动态类型语言。

正因为如此,Dart团队始终关注的目标不仅在于让这种语言更易上手,而且在于提供其它的一些工具,满足开发者高效使用这一语言的需求。这里面包括了Dart Editor(Dart主要的IDE)以及扩展该语言的大量的库。另外,该团队最近还推出了一版面向开发者的集成支持Dart的Android平台Chrome浏览器。伦德还指出,Dart Editor还会附带一些工具,帮助开发者监控程序运行时的状态。在I/O大会上,该团队还演示了Dart与Google的Web组件框架Polymer之间的完美协作,以及Dart最新的Material Design用户人机界面语言。

在I/O大会上,Google宣布开发者可以使用Docker将Dart部署至其Compute Engine基础设施中,不久后还将支持App Engine,开发者从而能够更加便捷地访问Google的Data Store、云监控服务以及缓存服务。

Dart开发者们翘首以盼的另一件事则是Chrome加入对Dart的集成支持。我向巴克问到这件事时,他回应了一个会心的微笑,并表示关于这一点其团队很快会有更多消息公布。Chrome中集成支持Dart毫无疑问将会给Dart带来一次飞跃。尽管目前Dart到JavaScript的编译器运作得很完美,Dart虚拟机的代码执行效率无疑要高得多。这还能增加开发者学习Dart的动力,毕竟一旦Google在浏览器中集成了Dart不太可能会在将来移除掉它。

展望未来,巴克告诉我说其团队还在关注如何通过类似于JavaScript的asyn/await概念将异步代码特性加入到Dart中。

该团队发布Dart 1.0之后,他们就在打造Dart的Ecma标准(好比JavaScript是基于EcmaScript标准一样)。正如巴克所说,委员会从来造不出什么好的编程语言,因此当时对于Google来说,完成1.0的里程碑之后再开始打造标准的做法非常关键。然而事到如今,他们想要吸引行业内其它厂商的加入,他们希望其它浏览器在未来集成支持Dart语言。

Dart团队相信,能用同一种语言编写前端和后端代码的编程语言,将会带来更具稳定性的代码,也会让开发团队的协作变得更加容易。

(译:顾秋实)

Google’s Dart Programming Language Is Coming To The Server

相关文章

JS严格模式:更安全、更高效的代码实践

在JavaScript开发中,严格模式(Strict Mode)是一个非常重要的特性。它从ES5开始引入,旨在让JavaScript代码运行在更严格的条件下,从而提高代码的安全性和性能。本文将详细介绍...

Scala.js:将Scala编译为JavaScript

Scala.js是一款将Scala代码编译为JavaScript代码的编译器,该编译器支持全部Scala语言特性。借助于Scala.js,开发者能够使用Scala开发从前端到后端的Web应用,而且Sc...

V8 JavaScript引擎

简介V8 (v8.dev)是 Google 的开源高性能 JavaScript 和 WebAssembly 引擎,用 C++ 编写。它用于 Chrome 和 Node.js 等。它实现了 ECMASc...

前端使用javascript如何进行sleep

很多语言中都有sleep(),delay()等方法,它能让我们的程序不急着去执行下一步操作,而是延迟、等待一段时间。开发实践中经常会遇到需要这样的需求,比如等待几分钟再去检查某一事件是否发生。Java...

javascript中const/let/var的用法区别及使用场景

给大家建议使用的优先级:const > let > var 首先const声明常量的好处,一是阅读代码的人立刻会意识到不应该修改这个值,二是防止了无意间修改变量值所导致的错误,另外其实js...

Web前端:React JS越来越受欢迎,它的主要优点为什么要使用它?

  React JS是一个开源JavaScript库,用于为单页应用程序构建用户界面,它还为不同的移动应用程序提供视图层,并创建可重用的UI组件。  我们可以在Web应用程序的数据中创建特定的更改,而...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。