下面列出了Flutter面试常见问题解答。
1)什么是Flutter?
Flutter是一个UI工具包, 用于使用一种编程语言和单个代码库为移动设备创建快速, 美观, 本地编译的应用程序。这是Google开发的开源开发框架。通常, Flutter不是语言。这是一个SDK。 Flutter应用程序使用Dart编程语言创建应用程序。 Flutter的第一个Alpha版本于2017年5月发布。
Flutter主要针对可在Android和iOS平台上运行的2D移动应用程序进行了优化。我们还可以使用它来构建功能齐全的应用程序, 包括相机, 存储, 地理位置, 网络, 第三方SDK等。
要了解更多信息, 请单击此处。
2)什么是飞镖?
Dart是具有C样式语法的通用, 面向对象的编程语言。它是开源的, 由Google在2011年开发。Dart编程的目的是为Web和移动应用程序创建前端用户界面。这是创建Flutter应用程序的重要语言。 Dart语言可以同时编译AOT(提前)和JIT(即时)。
要了解更多信息, 请单击此处。
3)我应该学习Dart for Flutter吗?
是的, 学习Dart语言以构建Flutter应用程序是非常必要的。
4)Flutter免费吗?
是。 Flutter是免费和开源的。
5)什么是Flutter小部件?
Flutter应用程序始终被视为小部件的树。每当你要编写代码以在Flutter中构建任何内容时, 它都将位于小部件内。小部件通过其当前配置和状态来描述你的应用视图的外观。当你对代码进行任何更改时, 小部件将通过计算先前和当前小部件的差异来确定在应用程序的UI中呈现的最小更改, 从而重新构建其描述。
小部件彼此嵌套以构建应用程序。这意味着你的应用程序的根本身就是一个小部件, 而一直向下都是一个小部件。例如, 小部件可以显示某些内容, 可以定义设计, 可以处理交互等。
要了解更多信息, 请单击此处。
6)你对有状态和无状态小部件了解什么?
有状态的小部件具有状态信息。之所以称为动态的, 是因为它可以在小部件的生命周期内更改内部数据。允许我们刷新屏幕的小部件称为有状态小部件。该小部件没有build()方法。它具有createState()方法, 该方法返回扩展Flutters状态类的类。有状态小部件的示例是Checkbox, Radio, Slider, InkWell, Form和TextField。
无状态窗口小部件没有任何状态信息。它在其整个生命周期中保持静态。无状态小部件的示例为文本, 行, 列, 容器等。如果屏幕或小部件包含静态内容, 则应为无状态小部件, 但如果要更改内容, 则必须为有状态小部件。
7)什么是Flutter开发的最佳编辑器?
Flutter开发工具可加快Flutter开发速度, 从而提高开发人员的工作流程。 Flutter IDE和工具需要一些插件才能开发移动应用程序。这些插件可帮助我们进行飞镖编译, 代码分析和Flutter开发。流行的针对Flutter开发的IDE如下:
- Android Studio
- 视觉工作室
- IntelliJ IDEA
- Xcode
8)什么是pubspec.yaml文件?
这是项目的配置文件, 在处理Flutter项目期间会用很多。它允许你如何运行应用程序。它还允许我们为应用设置约束。该文件包含:
- 项目常规设置, 例如项目的名称, 描述和版本。
- 项目依赖项。
- 项目资产(例如图像, 音频等)。
9)Flutter中的软件包和插件是什么?
包是一组相似类型的类, 接口和子包。软件包和插件可帮助我们构建应用程序, 而无需开发软件包中的所有内容。在Flutter中, 它允许你将新的小部件或功能导入应用程序。软件包和插件的区别很小。通常, 软件包是新组件或以dart语言编写的代码, 而插件通过使用本机代码在设备上提供了更多功能。在DartPub中, 程序包和插件都称为程序包。
要了解更多信息, 请单击此处。
10)Flutter的优点是什么?
Flutter框架的普遍优势如下:
- 跨平台开发:此功能使Flutter可以编写一次代码, 进行维护并可以在不同平台上运行。它节省了开发人员的时间, 精力和金钱。
- 更快的开发:Flutter应用程序的性能很快。 Flutter使用arm C / C ++库编译应用程序, 该库使其更接近于机器代码, 并为应用程序提供了更好的本机性能。
- 良好的社区:Flutter具有良好的社区支持, 开发人员可以在其中提出问题并快速获得结果。
- 实时和热重载:它使应用程序开发过程非常快速。此功能使我们能够在更改后立即更改或更新反映的代码。
- 最少的代码:Flutter应用程序是由Dart编程语言开发的, 它使用JIT和AOT编译来缩短总体启动时间, 发挥作用并加速性能。 JIT增强了开发系统并刷新了UI, 而无需花费更多精力来构建新的。
- 专注于UI:它具有出色的用户界面, 因为它使用了以设计为中心的小部件, 高级开发工具, 高级API和许多其他功能。
- 文档:Flutter具有很好的文档支持。它井井有条, 内容更丰富。我们可以将所有想要编写的东西都放在一个地方。
要了解更多信息, 请单击此处。
11)如何安装Flutter?
要在Windows系统上安装和运行Flutter, 首先需要满足开发环境的这些要求。
Windows 7或更高版本(我是Windows10。你也可以使用Mac或Linux OS。)。 |
400 MB(不包括IDE /工具的磁盘空间)。 |
1. Windows PowerShell 2. Windows 2.x的Git(在此处, 从Windows命令提示符选项使用Git)。 |
适用于Windows的Flutter SDK |
Android Studio(官方) |
要了解更多信息, 请单击此处。
12)Flutter和React Native之间哪个更好?
Flutter和React Native均用于从单个代码库开发本机混合应用程序。这些应用程序可以在iOS和Android平台上运行。
React Native由Facebook开发, 而Flutter框架由Google首次引入。因此, 这两个框架都具有很好的功能和社区。
Flutter使用Dart语言创建应用程序, 而React Native使用JavaScript构建应用程序。
从开发人员的角度来看, 很难在其中进行选择。因此, 在Flutter和React Native之间选择优胜者是非常具有挑战性的。
要了解更多信息, 请单击此处。
13)为什么第一个Flutter应用构建需要这么长时间?
首次构建Flutter应用时, 将花费更长的时间。这是因为Flutter构建了设备专用的APK或IPA文件。因此, Gradle和Xcode用于构建文件, 需要很长时间。
14)为什么Flutter项目中有Android和iOS文件夹?
Android:此文件夹包含一个完整的Android项目。当你为Android创建Flutter应用程序时使用它。将Flutter代码编译成本机代码后, 它将被注入到此Android项目中, 因此结果是本机Android应用程序。例如:当你使用Android模拟器时, 此Android项目用于构建Android应用, 该应用将进一步部署到Android虚拟设备。
iOS:此文件夹包含一个完整的Mac项目。在构建iOS的Flutter应用程序时使用它。它类似于Android文件夹, 在为Android开发应用程序时使用。将Flutter代码编译成本机代码时, 它将被注入到此iOS项目中, 因此结果是本机iOS应用程序。仅当你在macOS和Xcode IDE上工作时, 才能为iOS构建Flutter应用程序。
15)什么是补间动画?
它是中介的简称。在补间动画中, 需要定义动画的起点和终点。这意味着动画从起始值开始, 然后经过一系列中间值, 最后达到结束值。它还提供了时间线和曲线, 它们定义了转换的时间和速度。小部件框架提供了如何从起点和终点过渡的计算。
要了解更多信息, 请单击此处。
16)在Flutter中说明热装?
热重载功能使你可以快速轻松地在项目中执行实验。它有助于构建UI, 添加新功能, 修复错误以及加快应用开发速度。要对Flutter应用执行热加载, 请执行以下步骤:
- 在受支持的Flutter编辑器或终端窗口中运行该应用程序。
- 修改项目中的任何Dart文件。
- 如果使用支持Flutter的IDE, 则选择”全部保存”或单击工具栏上的”热重载”按钮。你可以立即在仿真器或真实设备中看到结果。
17)命名一些使用Flutter的流行应用程序?
如今, 许多组织都使用Flutter来构建应用程序。基于Flutter构建的一些最受欢迎的应用程序如下:
- Google Ads
- 反映地
- Alibaba
- 桦木金融
- 自己教练
- 腾讯网
- 水疯子
18)Flutter SDK的最新版本是什么?
Flutter框架的最新版本是2020年1月27日的Flutter-v1.12.13。
19)命名Flutter中使用的流行数据库软件包吗?
Flutter中使用最普遍的数据库软件包如下:
- sqflite数据库:它允许访问和操作SQLite数据库。
- Firebase数据库:它将使你能够访问和操作云数据库。
20)哪种动画类型可以表现真实的行为?
基于物理的动画使你可以在Flutter中表示真实行为。
工作/人力资源面试问题 |
JavaScript面试问题 |
Java OOP面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
操作系统
磁盘空间
工具类
开发包
HERE
面试技巧
公司面试问题与程序
Java基础面试问题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
jQuery面试问题
评论前必须登录!
注册