Dart 简单入门

作者 zzzmode 日期 2018-07-27
Dart 简单入门

最近Google开发的Flutter跨平台UI方案视乎很火爆,各大社区都有试用文章和开发一些demo,作为Flutter的开发语言Dart,如果要入门Flutter的话,有必要先学下Dart这么语言。

首先,Dart安装环境搭建参考官网文档,然后仔细阅读下dart语言指南
https://www.dartlang.org/guides/language/language-tour
这篇文章介绍了Dart的基本语法和常用特性,强烈建议阅读一遍!

作为Android开发者,Java和Kotlin是最熟悉的两面语言,Dart和这两门语言非常类似,我们可以很快的入门。

常用语法对比

相同点
  • if-else, for, while, do-while 语法基本一样
  • switch-case 语法和Java一样
  • ++/– 语法一样
  • 类型检测和转换和Kotlin一样,使用isas关键字
  • try-catch-finally 语法差不多,
  • 位操作符和Java一样
  • List/Map 和Kotlin类似
  • class, extends, implements, abstract, enum, static 这些关键字和Java语义一样
  • 泛型语法和Java相似
  • 支持操作符重载
不同点
  • Dart2 可以省略new关键字
  • 没有访问修饰符,默认都是public,如果类名方法属性等前面加上_则表示private,有点类似Python
  • 方法前不需要关键字修饰,可以不写返回值类似

_foo(){
//private 私有方法
}

String bar(){
//对于public方法,建议明确指名返回值类型
}
  • 单线程,使用awaitasync 异步处理
  • 使用dynamic关键字表示动态类型

Null Safety

Dart和Kotlin一样,可以使用?操作符检测Null,避免NPE.

Java:

String s=null;
s.length(); // NPE!

if (s != null){
s.length(); //Safe
}

Kotlin:

val s:String?=null
s?.length //Safe

Dart:

String s=null;
s?.length; //Safe

上手还是很容易的,对于移动端开发者来说,异步处理是个很重要的部分,搞不好就会导致UI卡顿,Dart中异步处理和Java中不一样,这部分深入学习后再做记录。