Flutter的框架信息介绍

开课吧开课吧锤锤2021-04-23 11:21

    谷歌的移动UI框架Flutter能够快速地在iOS和Android上建立高质量的本地用户界面。这个Flutter可以处理已有的代码。Flutter在世界范围内被越来越多的开发者和组织所使用,而且Flutter完全免费,开源。

web

    Flutter框架原理。

    Flutter对跨平台的实现采用了更全面的方法。与采用WebView或JavaScript不同的是,它实现了自己的UI框架,然后直接在系统底层绘制系统的UI。因此,它所采用的开发语言并非JS,Dart(Dart是面向对象,定义类,单继承)是一种语言。其语法与C语言相似,可被转换为JavaScript,支持接口(interfaces)、混合(mixins)、抽象类(abstractclasses)、具体化泛型(reifiedgenerics)、可选择类型(optionaltyping)和soundtypesyste)。所谓的Dart语言可以被编译为直接与本地通信的本地代码。

    Flutter把UI组件和渲染程序从平台移到了应用程序中,使他们能够进行定制和扩展。只有一种Flutter请求系统提供canvas,这样自定义UI组件就可以显示在设备屏幕上,以及访问事件(触摸,定时等)和服务(位置,相机等)。Flutter能够做到跨平台和高效率的关键在于它。另一个Flutter学习了RN的UI编程方法,引入了状态机,当UI更新时,只更新最小变化区域。

    可以替代系统的UI框架,但系统提供的某些服务不能替代。在与系统service进行通信时,Flutter采用了类似于插件式的方式,或类似于远程过程调用RPC方式。这个模式据说比RN的桥接模式更有效。

    为什么Flutter会采用Dart语言?

    Dart可以成为Flutter的一个组成部分,其根本原因在于它具有下列特性:

    Dart是由AOT(AheadOfTime)编译的,它能快速地编译出可预测的本地代码,使得几乎所有的Flutter都能用Dart编写。这样做不仅让Flutter更快,而且几乎所有的东西(包括所有的小部件)都能被定制;

    2)Dart还可以JIT编译,开发周期异常快,工作流颠倒(包括Flutter流行的亚秒级有状态热重载);

    Dart可以更容易地创建以60fps速度运行的流畅动画和转场。Dart可以进行对象分配和垃圾回收而不带锁。与JavaScript一样,Dart也避免了优先调度和共享内存(因此不需要锁定)。因为Flutter应用程序是以本地代码编译的,所以他们不需要在各个领域间建立联系(比如JavaScript到本地代码)。启动速度也大大加快;

    Dart使Flutter无需诸如JSX或XML等单独的声明式布局语言,也无需使用单独的可视化界面构建器,因为Dart的声明式编程布局易于阅读和可视化。全部布局使用一种语言,集中在一个地方,Flutter提供了高级工具,使得布局更加简单;

    如果这些还不足够,那么不妨点击下方课程,跟着老师好好学习。

web

    开发人员发现Dart非常容易学习,因为它有一些静态语言和动态语言用户都熟悉的特性。

有用
分享