Flutter学习2 - Dart

Dart语言特点:

1、强类型语言,静态类型

  • Dart 2.0 开始便是强类型语言,而且是静态类型的(可以类比Java,C#等)
  • 强类型语言的优点:所有类型的检查必须在编译的时候完成
  • 前端开发的 js 语言是弱类型的语言
  • 强类型的语言需要在定义的时候指定类型,如果不指定,编译器也可以在赋值的时候推断出变量类型

2、面向对象的语言,OOP

  • 面向对象的语言有:Java、Kotlin、Objective-C、Swift、Python、C++、C#、Ruby、PHP等

3、支持 JIT 和 AOT

  • JIT(Just In Time):即时编译,开发期间,更快编译,更快重载(每次在修改完代码后不需要重新运行项目,代码便可以应用到 App 上,用的就是JIT特性)
  • JIT 的劣势也显而易见,JIT需要在运行的时候将代码编译成机器码,这样会导致程序运行慢,甚至卡顿(开发时运行项目有时会卡顿)
  • AOT(Ahead Of Time):事前编译,release期间,更快更流畅(如C、C++,在编译的时候,直接将代码编译成机器码)
  • AOT的优势也显而易见,就是事前编译,将代码编译成二级制机器码部署到用户设备上,这样用户在运行程序时就不需要再进行编译,这样就使得我们加载和运行代码的速度加快

开发时使用 JIT 使得编译更快,无需运行项目即可将修改的代码应用到app,但可能会有卡顿;
release 时使用 AOT,保障用户使用 app 时的流畅

相关推荐
别动我齐刘海10 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
05664612 小时前
agent学习——流式响应与文本切分
网络·python·学习
for_ever_love__12 小时前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习
Canmag 兴隆磁性15 小时前
C 系列充磁机
c语言·开发语言·学习·永磁材料·充磁·退磁
PC2005-cloud15 小时前
Go学习笔记:基本概念与项目结构——GOPATH、Go Modules 与常用命令
笔记·学习·golang
新手unity自用笔记16 小时前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
见山是山-见水是水16 小时前
鸿蒙版 Flutter Video 视频播放组件:播放控制、全屏切换与倍速播放
flutter·音视频·harmonyos
zyf10441616 小时前
暑期实践日志 Day32:完成第六章字幕添加,推进工作
学习·计算机网络·剪辑·暑期实践·课题任务
小雪崩16 小时前
嵌入式学习 day27:标准IO
linux·c语言·学习
hsjiasb16 小时前
FreeRTOS学习(三十五)——系统架构综合项目
学习·学习笔记·freertos