我们高级别地了解了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比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版本的主要焦点是 - 基础,生态系统和工具。