Dart 简介

Dart最新的版本是Dart2Dart2是一款高效、简洁、已通过实战检验的语言,能够应对现代应用程序开发的挑战。Dart2大大加强和精简了类型系统,清理了语法,并重建了大部分开发工具链,使移动和Web开发变得更加愉快和高效。Dart2还融合了包括Flutter、AdWords和AdSense等工具开发者对该语言早期使用的经验教训,以及针对客户反馈的成千上万大大小小的问题进行了改进。

那么Flutter和Dart有什么关系?确实有关系。早期的Flutter团队评估了十多种语言才选择了Dart,因为它符合构建用户界面的方式。以下是Flutter团队看重的Dart语言的部分特性:

  • Dart是AOT(Ahead Of Time)编译的,编译成快速、可预测的本地代码,使Flutter几乎都可以使用Dart编写。这不仅使Flutter变得更快,而且几乎所有的组件(包括所有的小部件)都可以定制。
  • Dart也可以JIT(Just In Time)编译,开发周期非常短,工作流颠覆常规(包括Flutter流行的亚秒级有状态热重载)。
  • Dart可以更轻松地创建以60fps运行的流畅动画和转场。Dart可以在没有锁的情况下进行对象分配和垃圾回收。就像JavaScript一样,Dart避免了抢占式调度和共享内存(因而也不需要锁)。由于Flutter应用程序被编译为本地代码,因此不需要在领域之间建立缓慢的桥梁(例如,JavaScript到本地代码)。它的启动速度也快得多。
  • Dart使Flutter不需要单独的声明式布局语言(如JSX或XML)或单独的可视化界面构建器,因为Dart的声明式编程布局易于阅读和可视化。所有的布局使用一种语言,聚集在一处,Flutter很容易提供高级工具,使布局更简单。
  • 开发人员发现Dart特别容易学习,因为它具有静态和动态语言用户都熟悉的特性。
  • 并非所有这些功能都是Dart独有的,但Dart将这些功能组合得恰到好处,使Dart在实现Flutter方面独一无二。因此,没有Dart,很难想象Flutter是否能会像现在这样强大。

当你想创建移动App、Web App、Command-line应用时,都可以使用Dart语言,如图所示。

Dart 简介

Dart重要的概念如下:

  • 所有的东西都是对象,无论是变量、数字、函数等都是对象。所有的对象都是类的实例。所有的对象都继承自内置的Object类。这点类似于Java语言“一切皆为对象”。
  • 在程序中指定数据类型使得程序能够合理地分配内存空间,并帮助编译器进行语法检查。但是,指定类型不是必需的。Dart语言是弱数据类型。
  • Dart代码在运行前解析。指定数据类型和编译时的常量,可以提高运行速度。
  • Dart程序有统一的程序入口:main(),这一点与JavaC/C++语言相似。
  • Dart没有public、protectedprivate的概念。私有特性通过变量或函数加上下划线来表示。
  • Dart的工具可以检查出警告信息(warning)和错误信息(errors)。警告信息只是表明代码可能不工作,但是不会妨碍程序运行。错误信息可能是编译时的错误,也可能是运行时的错误。编译时的错误将阻止程序运行,运行时的错误将会以异常(exception)的方式呈现。
  • Dart支持anync/await异步处理。
  • 关键字(56个)如下:abstract,do,import,super,as,dynamic,in,switch,assert,else,interface,sync*,enum,implements,is,this,async*,export,library,throw,await,external,mixin,true,break,extends,new,try,case,factory,null,typedef,catch,false,operator,var,class,final,part,void,const,finally,rethrow,while,continue,for,return,with,covariant,get,set,yield*,default,if,static,deferred

Dart语言常用库如表所示。
Dart 简介

其中如下三个开发库的使用频率最高:

  • dart:core:核心库,包括strings、numbers、collections、errors、dates、URIs等。
  • dart:html:网页开发中DOM相关的一些库。
  • dart.io:I/O命令行使用的I/O库。

dart:core库是Dart语言初始已经包含的库,其他的任何库在使用前都需要加上import语句。例如,要使用dart:html,可以使用如下命令:

import 'dart:html';

使用官方提供的pub工具可以安装丰富的第三方库。第三方库的地址为pub.dartlang.org

赞(0)

评论 抢沙发

评论前必须登录!