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 时的流畅

相关推荐
qq_284274051 小时前
S7-1200 PLC硬件与启保停实训:CPU选型与DC/DC/DC、循环扫描五阶段、博途组态及电动机启停自锁梯形图(含考点)
笔记·学习·自动化·制造
dear_bi_MyOnly1 小时前
栈和队列:从原理到应用全解析
c语言·开发语言·c++·学习·分类
遇印记2 小时前
应用层,网络管理
运维·网络·windows·学习·安全
乌暮3 小时前
从 `println` 到生产级日志:Spring Boot 日志体系完全指南
java·开发语言·jvm·spring boot·后端·学习·面试
FungLeo3 小时前
成为全栈·Flutter App 篇·第四批复盘:复用了什么,移动端又新增了什么
flutter·移动开发·跨端开发·成为全栈·api契约·全栈复盘
xian_wwq4 小时前
【学习笔记】Milvus 是什么?为什么 RAG 系统经常使用它?-14
笔记·学习·milvus
自信150413057594 小时前
重生之从0开始学习c++之string(下)
c++·学习·stl
kmomo..4 小时前
Linux 驱动开发学习笔记:UART、触摸屏与 ADC 驱动实战
linux·驱动开发·学习
youdexiang5 小时前
如何建立个人学习资料库?
学习
人工智能培训5 小时前
具身智能环境交互与学习范式原理
大数据·linux·人工智能·学习·算法·机器学习