探索Google的Flutter框架和Dart语言

发表时间: 2018-11-09 09:01

我们高级别地了解了Google的Flutter框架和Dart语言。这是你可以想象在未来的项目中使用的东西吗?

什么是Flutter?

Flutter 是一个开源UI框架,用于在Android和iOS上创建高级本机接口。Google最初发布的Flutter alpha发生在2017年5月.Flutter应用程序可以使用Dart编程语言编写。Flutter Beta版本于2月在2018年世界移动通信大会上宣布。

Dart与许多其他语言(如Kotlin和Swift)共享功能,可以很容易地将其转换为JavaScript代码。Flutter是开源的,可以免费使用。它可以与您现有的代码一起使用。由于Flutter允许反应式和声明式样式编程,因此它类似于React Native。无需在Flutter中使用桥接器来提高整体性能和启动时间。通过使用Dart,它将自动实现 Ahead-of-Time编译 (AOT)。

您将无法找到Flutter中的应用版本与其他语言之间的任何差异。它们看起来与其他Android SDK中构建的应用相同,并且在性能和外观方面,唯一的区别是它们也可以在iOS设备上运行。

Flutter的核心原则

Flutter有一个React风格的框架,其中包括随时可用的小部件,开发工具和渲染引擎。这些元素共同协作,可帮助您设计,构建和测试应用程序。

每一件事都是Flutter的小工具

Flutter应用程序的基本构建组件是小部件。此外,在其他框架中,我们为视图,控制器和其他属性设置了不同的集合。每个小部件都有一个固定的UI声明。Flutter拥有统一的对象模型 - 小部件。

让我们来看看Flutter提供的一些功能:

  • Flutter有自己的引擎,可以在Android和iOS上呈现应用程序以及UI组件。
  • Flutter使用Dart,这是一种快速,面向对象的语言,具有Minix,隔离,泛型和可选静态类型等功能。
  • Dart的另一个特殊方面是它可以使用Just-In-Time编译。
  • Flutter通过在开发过程中刷新来提供热重新加载,而无需全新的构建。
  • 在Flutter中,我们可以使用IntelliJ IDEA, Android Studio或Visual Studio 开发应用程序。
  • 它构建了一个小部件的想法。在Flutter中,您可以将小部件用于屏幕或应用程序本身。
  • 使用Flutter,您可以通过用于动画,2D,效果,手势,渲染等的强大而灵活的API来解决复杂的UI挑战。
  • 支持多个软件包,如Firebase实施,共享内容,打开图像,访问传感器等。

为什么Flutter比React Native更好?

为了更好地理解,我们可以看看Flutter和React Native的架构。

让我们从React Native的架构开始。

从上图中可以看出,React Native基本上分为两部分,即JavaScript和Native。在React中,应用程序将运行JavaScript,它将通过网桥与Native通信。然后,此代码将转换为本机应用程序,例如,当您创建60帧/秒的动画时。然后由于JavaScript和本机之间的通信,它会变慢。在每60秒,它必须将代码从JavaScript转换为本机,反之亦然。

因此它最终会破坏动画的流畅性。在此应用程序中,多核架构和应用程序无法与机器通信。

Flutter在决定如何组织和构建应用程序时提供了很大的灵活性。我们可以从Flutter的架构中清楚地看到它不使用任何桥,因为它使用Dart可以处理动画,绘画,手势,渲染等等。这提升了它的性能。

但是,众所周知,完美和不完美是齐头并进的,所以我们在Flutter和Dart中有一个,它没有一个强大的开发者社区来解决你的问题。

Flutter Beta 3:由2018年5月7日由Google I / O 2018推出

Flutter Beta 3版本的主要焦点是 - 基础,生态系统和工具。

  • 基础 - 提高定制水平和复杂性。
  • 生态系统 - 主要关注的是Firebase插件中添加了一组功能齐全的插件。Visual Studio代码现在已经完全支持环境。
  • 工具 - 它使用全新功能“Just My Widgets”重新设计了用户界面,该功能为开发人员过滤掉了自动生成的小部件,最近谷歌宣布了Dart 2。