写在最前面(时间紧的朋友看第一段即可)
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,其野心可能是要统一前后端开发,成为一个真正的全栈语言。各位程序员朋友可要小心了,现在三个岗位的工作,未来可能只需要一个人了。