- 本篇文章教你认识flutter框架特点及了解Dart的基本语法

1. flutter是什么?

- 是谷歌推出并开源的移动端应用开发框架,主打跨平台、高保真、高性能;

- 开发者可以通过Dart语言开发app,一套代码同时运行在iOS和Android平台

- flutter提供了丰富的组件、接口,开发者可以很快地为flutter添加native扩展。同时flutter还使用native引擎渲染视图,这无疑能为用户提供良好的体验。

2. flutter安装步骤:

参考官网:https://flutterchina.club/setup-macos/ 自认为没有比官方文档更详细更有说服力的文章了;

flutter使用步骤:

1044eb60dcc36cfbcefd91bdbedb0628.png

- 初识Dart:Dart的诞生解决js存在的、在语言本质上无法改进的缺陷;

Dart特性:

- JIT(开发)&AOT(上线 )(编译模式)

- 内存分配&垃圾回收机制

- 单线程模型

- 无需单独的声明式布局

Dart语法

1. .dart后缀名的文件

- 有一个入口函数main

2. 流程控制:

- if和else条件必须使用布尔值

- for循环(for、forEach、for in)

- while循环(while、do while)

- break中断循环,continue跳到下一个循环

- switch和case,被比较的对象必须都是同一个类的实例,并且这个类不能重写

- assert如果布尔值条件为false,则使用assert语句中断正常执行

3. 变量的声明

- var类似于js中的var,可以接收任何类型的变量,但是变量一旦赋值类型就会确认,后期不可改变为其他类型;

- dynamic声明的变量可以赋值任意对象,可以在后期改变赋值类型;

- object是Dart所以对象的根基类,所以类型都是object的子类(包括undefined和null),所以任何类型都可以赋值给object声明的对象;

- final变量在第一次使用时被初始化;

- const声明的变量是一个编译时常量;

4. 函数

- 函数的声明

fd4c8825f90df68faa60ffe222ac4947.png

- 如果没有显示声明返回值类型时会默认当作是dynamic处理,注意,函数返回值没有类型判断

- 对于只包含一个表达式的函数,可以使用简写语法

d5cad56ecc2f417df7ba2d178116d852.png

- 函数作为变量使用

625487e6db73179338e11b25aeed0c47.png

- 函数作为参数使用

7a8e558a22d629a3b23dadc894448650.png

- 可选位置参数, 使用[]说明该参数为可选的

67ca11c1d8174e340566b5c8704b1cb5.png

- 可选的命名参数

db566f2d5abab302f35e1b6e17283199.png
  1. 类和对象

- 类的定义使用class关键字

- 类首字母必须大写

- 使用new关键字和构造函数来创建对象

> 类的继承:

- 使用extends创建子类,super引用父类,子类可以重写实力方法、getter和setter

- 可以使用@override关键字,子类可以重写实例的方法,getters和setters

- 可重写操作符

- 当用户调用你定义的类中不存在的属性与方法时,可以做出一些响应,通过重写onSuchMethod()

d9957be3e1dbb71d51b76ab44fd264e1.png

6. 异常处理

- 异常是Error和Exception的类型

- Exception主要是程序本身可以处理的异常,比如:IOException

- Error是程序无法处理的错误,表示运行应用程序较严重问题

- Dart2是不检测异常是否声明的,也就是说方法或函数不需要声明要抛出那些异常

b51f1becf89be1bef7fdada4bf5f1e9c.png
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐