Dart语言的前世今生

写在最前面(时间紧的朋友看第一段即可)

Dart语言将是您必须掌握的一门语言,因为他将是成为统一前端与后端的全栈语言。各位程序员朋友可要小心了,现在三个岗位的工作,未来可能只需要一个人了。

一、该不该学习Dart语言?

如果你在2018年问这个问题,收到答案肯定是不应该学,因为2018年Dart被评为了最不应该学习语言的榜首。如果您在2019年,我建议学习Dart,因为Dart被评为2019年开发者最希望学习的榜首。

2018 和2019为何出现如此截然相反的态度呢,原因很简单其亲爹谷歌已经将其册封为太子,而且还为其娶了一个叫Flutter的太子妃,未来新一代操作系统fuchsia将以Dart为主力语言。而且谷歌最赚钱的Adwords广告业务已经采用Dart进行开发。站在巨人肩膀上的Dart肯定能够成为未来的主流语言。

二、Dart使命是什么?

我们通过Dart语言的成长历史,来发掘一下Dart的历史使命

1. Dart语言的诞生

2011年10月10日,Google 发布了Dart语言,文章的标题为《Dart: A language for structured web programming》(Dart:结构化的Web编程语言)。下面是Dart语言的设计目标:

  • 为web开发创建一个结构化并且灵活的语言

  • Dart让开发者感觉亲切友好并且容易学习

  • 确保Dart语言在所有新型浏览器和服务器上都保持更高的执行性能,并且能够在支持从智能手持设备到服务端开发工作。

Dart具有非常广泛的应用场景,其即支持一个人简单的项目还支持大型项目的开发工作。Dart团队认为该语言将成为开发大型Web的伟大语言。

https://blog.chromium.org/2011/10/dart-language-for-structured.html

从上面介绍我们可以看出,Dart语言是一个开发web应用的语言,其主要是为了创建大型web应用而发明的。

2. 第一个正式稳定的版本

2013年11月14日,谷歌发布Dart 1.0版本,其标题为《Dart 1.0: A stable SDK for structured web apps》(Dart 1.0:一个稳定的web应用结构开发SDK)

Dart 1.0版本发布,不但推出了Dart语言1.0版本而且还推出了相关开源工具箱和配套的编辑器。还介绍了已经有Blossom, Montage, Soundtrap, Mandrill, 谷歌内部 CRM 应用 and Google Elections等应用使用Dart进行了开发。

https://news.dartlang.org/2013/11/dart-10-stable-sdk-for-structured-web.html

3. Dart 2.0 重生的版本

2018年8月8日,谷歌发布Dart2.0版本,其标题为《Announcing Dart 2 Stable and the Dart Web Platform》(Dart2 稳定版本和Dart Web平台发布)

此次更新,可谓是让Dart浴火重生。从13至18年,Dart不问不火,特别是其运行效率成为了被人诟病的槽点。2018年谷歌对Dart进行全新改版,从底层重构了Dart语言,加入了很多面向未来的新特别,语言性能大幅提供。此次发布谷歌不仅发布了Dart 2.0稳定版,而且还重写了Dart web platform。新版的web platform 提供了一套高性能、可扩展的生产力工具。

Dart 2 终点聚焦下面三个方面:功能不断加强和越来越严谨的语言;同时支持web和移动客户端开发;丰富工具箱和组件,全面融合谷歌全家桶。

https://medium.com/dartlang/dart-2-stable-and-the-dart-web-platform-3775d5f8eac7

4. Flutter 发布

2018年12月4日,谷歌发布Flutter 1.0版本,其标题为《Flutter 1.0: Google’s Portable UI Toolkit》(Flutter 1.0:谷歌的可移植UI工具箱)

Flutter是谷歌开源的移动应用开发SDK,使用Flutter 可以直接开发Android和iOS应用。其最大的特点就是一套代码多平台运行、高性能和Hot Reload(热重载)。谷歌即将发布Fuchsia系统就以Flutter为主要开发框架。Flutter采用Dart作为其底层语言。Dart也由于Flutter美好未来而得到众多开发者的青睐。

https://developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html

三、关于Dart的传说

关于Dart传说有多种,一种为Dart是未来的Javascript,另外一种是Dart未来的Java。

1. 未来的Javascript

引自 《Dart in Action》 第18页

2011年9月,网络上出现了一封标题为“未来的JavaScript”的谷歌内部电子邮件,邮件中表明由于Javascript语言发展缓慢,因此谷歌打算设计一个更好的web开发语言。这种新语言旨在成为下一代的JavaScript。它的主要目标是“保持JavaScript的动态特性,但具有更好的性能配置文件,并且适合大型项目的工具。”它还能够交叉编译为JavaScript。这种语言作为技术预览发布给更广泛的世界,并命名为Dart。

JavaScript可谓是前端开发的王者,然而其在面向对象方面的薄弱让无数人诟病。由于其设计之初的缺陷,开发者社区一种呼吁进行修改,因此谷歌推出了一门新的开发语言来取代Javascript。另外Dart语言设计者Lars Bak也是V8 JavaScript engine开发者,可见Dart与Javascript传言不假。

2. 未来的Java

Java是Sun公司的伟大发明,不过很可惜Sun后来被Oracle收购后,Java是否收费问题影响了其发展。作为Sun公司的同名师兄弟Google成为了Java发展的幕后英雄,Android系统的推出让Java再次焕发了青春。不过进入2018年后,Oracle开始在Java授权方面蠢蠢欲动,Google也因此下定决心设计一个新的面向对象语言(下一代Java)。另外Dart 语言设计者Lars Bak 就是jvm发明者,从此点可以看出Dart肯定是有Java的基因。

3. Javascript 和 Java的传说

Java 和 Javascript从名称上看肯定是有一定渊源,翻看Javascript历史可以发现Javascript和Java的关系果真不简单。

1995年在网景公司工作的Brendan Eich在设计一款在浏览器上运行的编程语言,某位高级主管要求他该语言要遵守Java的语法规范,Brendan Eich不得不接受这个要求,他用了10天就完成新语言的设计工作。

写在最后

因此融合“Javascript 传说”和“Java传传说”,我们发现一个秘密,Dart 未来不仅仅是Java或者Javascript,其野心可能是要统一前后端开发,成为一个真正的全栈语言。各位程序员朋友可要小心了,现在三个岗位的工作,未来可能只需要一个人了。

    原文作者:iCloudEnd
    原文地址: https://www.jianshu.com/p/c939a613dc4f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞