Dart简介:
Dart诞生于2011年10月10日,Dart是一种“结构化的web编程”语言,Dart虽然是谷歌开发的计算机编程语言,但后来被ECMA认定位标准,这门语言用于Web、服务端、移动应用和物联网等领域的开发;
编程语言有这么多种类,Flutter为什么要选择Dart作为开发语言呢?这是因为Dart更符合构建用户界面的方式;
以下是Flutter团队看重Dart语言的部分特性:
1.Dart是AOT(Ahead Of Time)编译的,编译快速,可预测的本地代码,是Flutter几乎都可以使用Dart编写,这不仅使Flutter变得更快,而且几乎所有的组件都可以定制;
2.Dart也可以JIT(Just In Time)编译,开发周期异常快,工作流颠覆常规(包括Flutter的热重载);
3.Dart可以更轻松的创建以60fps运行的流畅动画和转场,Dart可以在没有锁的情况下进行对象分配和垃圾回收,就像JavaScript一样,Dart避免了抢占式调度和共享内存(因此不需要锁),由于Flutter应用程序被编译为本地代码,因此不需要在领域之间建立缓慢的桥梁,它的启动速度也快的多;
4.Dart使Flutter不需要单独的声明式布局语言,或单独的可视化界面构建器,因为Dart的声明式编程布局易于阅读和可视化,所有的布局使用一种语言,聚集在一处,Flutter很容易提供高级工具,使布局更简单;
Dart重要概念:
1.所有的东西都是对象,无论是变量、数字、函数等都是对象。所有的对象都是类的实例。所有的对象都继承自内置的Object类,这点类似于Java语言“一切皆为对象”;
2.程序中制定数据类型使得程序合理地分配内存空间,并帮助编译器进行语法检查,但是,指定类型不是必须的,Dart语言是弱数据类型;
3.Dart代码在运行前解析,指定数据类型和编译时的常量,可以提高运行速度;
4.Dart程序有统一的程序入口:main();
5.Dart没有public、protected和private的概念,私有特性通过变量或函数加上下划线来表示;
6.Dart支持anync/await异步处理;
7.Dart语言常用库:
dart:async 异步编程支持,提供Future和Stream类;
dart:collection 对dart:core提供更多的集合支持;
dart:convert 不同类型(JSON,UTF-8)间的字符编码、解码支持;
dart:core Dart语言内建的类型、对象以及dart语言核心的功能;
dart:html 网页开发用到的库;
dart:io 文件读写I/O相关操作的库;
dart:math 数字常量及函数,提供随机数算法;
dart:svg 事件和动画的矢量图象支持;
其中如下三个开发库的使用频率最高:
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’