Flutter学习笔记(2)--Dart语言简介
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’
- 《ROS精品入门》学习笔记一:ROS简介
- 《深入浅出Node.js》学习笔记——(一)Node简介
- 《极客学院 --NSAttributedString 使用详解-4-UITextKit 简介》学习笔记(待处理)
- Windows NT File System Internals》学习笔记之物理内存管理简介
- Python学习笔记—第一章—Python简介
- 【Python】《集体智慧编程》学习笔记(1)简介和环境搭建
- python学习笔记——Tkinter GUI编程——简介
- Flutter简介
- 《iOS应用逆向工程》学习笔记(一)简介
- 《Python学习手册》学习笔记(10)之第10章Python语句简介(关键词:编程语言/Python/语句)
- 《Unix 网络编程》学习笔记 第一章:简介
- 学习笔记一、简介
- 《Design of Computer Programs》学习笔记(2 - 0)Back of the Envelope - 简介
- Flutter简介和配置(Android Studio)
- Angular中$scope类的简介及作用——(学习笔记①)
- 《D o C P》学习笔记(3 - 0)Regular Expressions, other languages and interpreters - 简介
- 学习笔记-[Maven实战]-第一章:Maven简介
- 《Windows NT File System Internals》学习笔记之物理内存管理简介
- 《深入浅出nodeJS》学习笔记-第一章Node简介
- 《极客学院 --NSAttributedString 使用详解-4-UITextKit 简介》学习笔记(待处理)