带你读《深入浅出Dart》二十二、Flutter简介

简介: 带你读《深入浅出Dart》二十二、Flutter简介

二十二、Flutter简介

Flutter是由Google开发和维护的开源框架,自2017年以来,已经迅速获得了开发者社区的广泛认可。其主要目的是开发出高性能、高保真的移动应用程序,用于iOS和Android两个主要平台。

 

Google创建Flutter的初衷是解决跨平台开发中的一些普遍问题,包括性能瓶颈,不同平台的UI不一致等。Google希望Flutter能够创建美观、流畅且用户体验接近原生应用的应用程序。目前,Flutter已经逐步扩展到其他平台,如Web、桌面应用和嵌入式系统。

1.Flutter架构

Flutter框架的架构设计主要分为三层:

 

  • 框架层:框架层是基于Dart语言实现的,并为开发者提供了丰富的API。它主要包括Material和Cupertino两种设计风格的Widget,各种布局方式(Stack, Row, Column等),以及用于处理交互(手势处理,动画,路由/导航)的API。
  • 引擎层:引擎层主要是用C++编写的,并提供了低级别的服务,如网络、存储、插件的支持。此外,还包括Dart运行时环境以及Skia图形渲染引擎。
  • 嵌入层:嵌入层是特定于平台的,负责在各种不同的操作系统上启动Flutter应用。这一层包括Android和iOS的嵌入API,用于将Flutter引擎加载到Android和iOS应用程序中。

2.Flutter与Dart

Flutter选择了Dart作为其开发语言。这主要有以下几个原因:

 

  • 性能:Dart支持Ahead-Of-Time(AOT)编译,即预编译,可以将Dart代码直接编译为本地机器码,这对于提高Flutter应用的启动速度和运行性能至关重要。
  • 热重载:Dart也支持Just-In-Time(JIT)编译,即边编译边执行,这意味着开发者可以在应用程序运行过程中进行修改并立即看到结果,这极大地提高了开发效率。
  • 易学易用:Dart语法简洁明了,对于大多数开发者来说,特别是具有Java或JavaScript背景的开发者,能够轻松地上手Dart。
  • 单语言开发:使用Dart,开发者可以同时编写前端界面和后端逻辑,无需切换不同的语言,这有助于提高开发效率。
  • 垃圾收集和内存管理:Dart语言的这些特性有助于简化开发流程,同时提高应用的运行效率。

总的来说,Flutter框架提供了一个全新的方式来构建和部署跨平台的UI驱动型应用,而Dart语言则为其提供了强大的后盾,使得Flutter应用能够有出色的性能,同时还具有快速开发的能力。

 

相关文章
|
2月前
|
Dart
如何在 Flutter 项目中使用 Dart 语言?
如何在 Flutter 项目中使用 Dart 语言?
127 58
|
25天前
|
Dart
flutter dart mixin 姿势
flutter dart mixin 姿势
|
1月前
|
Dart 开发者 Windows
flutter:dart的学习
本文介绍了Dart语言的下载方法及基本使用,包括在Windows系统上和VSCode中的安装步骤,并展示了如何运行Dart代码。此外,还详细说明了Dart的基础语法、构造函数、泛型以及库的使用方法。文中通过示例代码解释了闭包、运算符等概念,并介绍了Dart的新特性如非空断言操作符和延迟初始化变量。最后,提供了添加第三方库依赖的方法。
30 12
|
3月前
|
Dart 前端开发 JavaScript
Flutter&Dart-异步编程Future、Stream极速入门
Flutter&Dart-异步编程Future、Stream极速入门
78 4
Flutter&Dart-异步编程Future、Stream极速入门
|
3月前
|
Dart JavaScript 前端开发
Dart或Flutter中解决异常-type ‘int‘ is not a subtype of type ‘double‘
Dart或Flutter中解决异常-type ‘int‘ is not a subtype of type ‘double‘
137 4
|
3月前
|
Dart
Flutter笔记:手动配置VSCode中Dart代码自动格式化
Flutter笔记:手动配置VSCode中Dart代码自动格式化
472 5
|
4月前
|
JSON Dart 安全
Flutter Dart Macro 宏简化 JSON 序列化
今天我们将会体验 dart 语言新特性 macro 宏,来实现对 json 的序列化,用到的包是官方实验室写的 json 包。 本文将会一步步的带你实现这个功能,那我们开始吧。
Flutter Dart Macro 宏简化 JSON 序列化
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
316 4
|
3月前
|
Dart 安全 API
Android跨平台开发之Dart 3.5 与 Flutter 3.24:革新跨平台应用开发
【Dart 3.5 与 Flutter 3.24:革新跨平台应用开发】首发于公众号“AntDream”。本文深度解析 Dart 3.5 和 Flutter 3.24 的新特性,包括空安全强化、Web 与原生互操作性增强及 Flutter GPU API 等,展示了如何提升代码质量和用户体验。
66 1
|
3月前
|
Dart 开发工具
消除Flutter doctor的警告Warning: `dart` on your path resolves to xxx/bin/dart
消除Flutter doctor的警告Warning: `dart` on your path resolves to xxx/bin/dart
69 0
下一篇
无影云桌面