谷歌 Dart 曾经踌踌满志地想要取代 JavaScript 成为 Web 开发的首选语言。然而在一年半前,谷歌放弃了这个想法。因为 Dart 不仅仅在语言本身,包括它的整个生态圈,都比 JavaScript 落后了一大截。所以 Dart 最终还是沦落到了跟 TypeScript 和 CoffeeScript 一样的命运——成为另一个可以被编译成 JavaScript 的语言。
然而,在沉寂了一段时间之后,在 10 月底举行的慕尼黑 Dart 开发者大会上,Dart 带着崭新的面貌重返我们的视野。
事实上,尽管 Dart 无法像当初声称的那样可以取代 JavaScript,但在谷歌内部,它确实是一门很成功的 Web 开发语言。谷歌的 AdWords、AdSense 和 Fiber 项目团队开始把 Dart 融入他们的前端应用开发。一项内部报告表明,Dart 可以帮助他们提升 25% 到 100% 的前端开发效率。谷歌内部的 Dart 代码量比去年增长了 3.5 倍。
在谷歌之外,Wrike、Workiva、Blossom 等公司也在使用 Dart。所以不管在内部还是外部,Dart 都有它的市场。
Dart 团队不再把精力放在如何构建 Dart 运行时上,而是集中精力做好 Dart 到 JavaScript 的编译器以及相关的工具。因为同时在 Chrome 浏览器里运行 JavaScript 运行时和 Dart 运行时会带来很多问题,比如两种语言之间无法进行交互。
Dart 语言本身也是带来了一些新的特性。比如强类型支持、泛型方法。Dart 到 JavaScript 的编译器也得到改进,在编译速度上有了大幅度的提升。
在大会上,Dart 团队启动了 AngularDart 2.0 项目,使用 Dart 语言作为 Angular 的实现。同时还发布了基于 AngularDart 的 Material Design 的内部开发者预览版。
另外,谷歌启动了一个新项目 Flutter。Flutter 使用响应式函数编程模型,允许开发者基于单个代码库开发跨平台的移动应用。虽然 Flutter 的想法跟 Facebook 的 React Native 如出一辙,不过 Flutter 团队还是希望能够为开发者提供一套基于 Dart 的完整解决方案。
从 Dart 在谷歌内部的受欢迎程度来看,Dart 的势头会继续增长。这个也就是谷歌想要通过这次大会传达给我们的信息。不过要想在外部同样获得开发者的支持,Dart 团队仍然任重而道远。