我们高级别地了解了Google的Flutter框架和Dart语言。这是你可以想象在未来的项目中使用的东西吗?
什么是Flutter?
Flutter是一个开源UI框架,用于在Android和iOS上创建高级本机接口。Google最初发布的Flutteralpha发生在年5月.Flutter应用程序可以使用Dart编程语言编写。FlutterBeta版本于2月在年世界移动通信大会上宣布。
Dart与许多其他语言(如Kotlin和Swift)共享功能,可以很容易地将其转换为JavaScript代码。Flutter是开源的,可以免费使用。它可以与您现有的代码一起使用。由于Flutter允许反应式和声明式样式编程,因此它类似于ReactNative。无需在Flutter中使用桥接器来提高整体性能和启动时间。通过使用Dart,它将自动实现Ahead-of-Time编译(AOT)。
您将无法找到Flutter中的应用版本与其他语言之间的任何差异。它们看起来与其他AndroidSDK中构建的应用相同,并且在性能和外观方面,唯一的区别是它们也可以在iOS设备上运行。
Flutter的核心原则
Flutter有一个React风格的框架,其中包括随时可用的小部件,开发工具和渲染引擎。这些元素共同协作,可帮助您设计,构建和测试应用程序。
每一件事都是Flutter的小工具
Flutter应用程序的基本构建组件是小部件。此外,在其他框架中,我们为视图,控制器和其他属性设置了不同的集合。每个小部件都有一个固定的UI声明。Flutter拥有统一的对象模型-小部件。
让我们来看看Flutter提供的一些功能:
Flutter有自己的引擎,可以在Android和iOS上呈现应用程序以及UI组件。Flutter使用Dart,这是一种快速,面向对象的语言,具有Minix,隔离,泛型和可选静态类型等功能。Dart的另一个特殊方面是它可以使用Just-In-Time编译。Flutter通过在开发过程中刷新来提供热重新加载,而无需全新的构建。在Flutter中,我们可以使用IntelliJIDEA,AndroidStudio或VisualStudio开发应用程序。它构建了一个小部件的想法。在Flutter中,您可以将小部件用于屏幕或应用程序本身。使用Flutter,您可以通过用于动画,2D,效果,手势,渲染等的强大而灵活的API来解决复杂的UI挑战。支持多个软件包,如Firebase实施,共享内容,打开图像,访问传感器等。为什么Flutter比ReactNative更好?
为了更好地理解,我们可以看看Flutter和ReactNative的架构。
让我们从ReactNative的架构开始。
从上图中可以看出,ReactNative基本上分为两部分,即JavaScript和Native。在React中,应用程序将运行JavaScript,它将通过网桥与Native通信。然后,此代码将转换为本机应用程序,例如,当您创建60帧/秒的动画时。然后由于JavaScript和本机之间的通信,它会变慢。在每60秒,它必须将代码从JavaScript转换为本机,反之亦然。
因此它最终会破坏动画的流畅性。在此应用程序中,多核架构和应用程序无法与机器通信。
Flutter在决定如何组织和构建应用程序时提供了很大的灵活性。我们可以从Flutter的架构中清楚地看到它不使用任何桥,因为它使用Dart可以处理动画,绘画,手势,渲染等等。这提升了它的性能。
但是,众所周知,完美和不完美是齐头并进的,所以我们在Flutter和Dart中有一个,它没有一个强大的开发者社区来解决你的问题。
FlutterBeta3:由年5月7日由GoogleI/O推出
FlutterBeta3版本的主要焦点是-基础,生态系统和工具。
基础-提高定制水平和复杂性。生态系统-主要