简介
- Flutter使用Skia引擎自绘制UI,3.x新出了一个Impller引擎增速渲染
- Flutter 使用 Dart语言进行开发,Dart支持JIT和AOT两种编译模式。在开发期间使用JIT模式可以实时更新UI效果,在发布期间使用AOT模式,包体积增大但运行速度和安全性提高
Flutter整体架构如下
Dart简介
- 使用 var 关键字,编译器会自动推断变量的类型。如果不想编译器推断也可以使用Object或者dynamic。其中Object是所有类型的基类,dynamic则把类型判定推迟到运行时,类似OC中的id类型
- final和const声明的变量都不可变。final是第一次使用后不可变,const是编译后就不可变,即在编译期就已经确定类型和值了
- 函数是一级类型,可以当做函数参数也可以当做函数返回值,函数的可选位置参数使用中括号括起来,可选命名参数使用大括号括起来
- mixin类似Swift中的Protocol,可以有默认值,一个类可以可以同时混入多个mixin