Flutter是什么

更新时间:2023-05-14 07:24:51 阅读: 评论:0

Flutter是什么udid
1.1 Flutter是什么
1.1.1 Flutter简介
Flutter是⾕歌的移动UI框架,可以快速在iOS和Android上构建⾼质量的原⽣⽤户界⾯,⼀份代码可以同时⽣成iOS和Android两个⾼性能、⾼保真的应⽤程序。Flutter⽬标是使开发⼈员能够交付在不同平台上都感觉⾃然流畅的⾼性能应⽤程序,并且兼容滚动⾏为、排版、图标等⽅⾯的差异。flutter的开发语⾔是Dart,如果您使⽤过Java或JavaScript之类的语⾔,则能够很快上⼿,甚⾄有⼀些Flutter应⽤是没有编程经验的⼈写的!在全世界,Flutter正在被越来越多的开发者和组织使⽤,并且Flutter是完全免费、开源的。
跨平台⾃绘引擎
Flutter与其它⼤多数跨平台框架不同,因为Flutter既不使⽤WebView,也不使⽤操作系统的原⽣控件。 相反,Flutter使⽤⾃⼰的⾼性能渲染引擎来绘制widget。这样不仅可以保证在Android和iOS上UI的⼀致性,⽽且也可以避免对原⽣控件依赖⽽带来的限制及⾼昂的维护成本。
Flutter使⽤Skia作为其2D渲染引擎,Skia是⼀个 2D的绘图引擎库,其前⾝是⼀个向量绘图软件,Chrom
e和 Android均采⽤ Skia作为绘图引擎。Skia提供了⾮常友好的 API,并且在图形转换、⽂字渲染、位图渲染⽅⾯都提供了友好、⾼效的表现。Skia是跨平台的,所以可以被嵌⼊到Flutter的 iOS SDK中,⽽不⽤去研究 iOS闭源的 Core Graphics / Core Animation。
⽬前Flutter默认⽀持iOS、Android、Fuchsia(Google新的⾃研操作系统)三个移动平台。但Flutter亦可⽀持Web开发(Flutter for web)和PC开发,本书的⽰例和介绍主要是基于iOS和Android平台的,其它平台读者可以⾃⾏了解。
Flutter的优势
Flutter的优势
1. 开发效率⾼
巴西世界杯抽签毫秒级的热重载,修改后,您的应⽤界⾯会⽴即更新。使⽤丰富的、完全可定制的widget在⼏分钟内构建原⽣界⾯。
2. 富有表现⼒和灵活的UI
快速发布聚焦于原⽣体验的功能。分层的架构允许您完全⾃定义,从⽽实现难以置信的快速渲染和富有表现⼒、灵活的设计。
3. 原⽣性能strike back
Flutter包含了许多核⼼的widget,如滚动、导航、图标和字体等,这些都可以在iOS和Android上达到原⽣应⽤⼀样的性能。
Flutter的开发语⾔
Flutter的开发语⾔
Flutter采⽤的是Dart作为开发框架和widget的语⾔。
为什么选择D ar t语⾔?
amphibious
Flutter在四个主要维度进⾏了评估,并考虑了框架作者、开发⼈员和最终⽤户的需求等因素。我们发现不同的语⾔在不同的层⾯符合⼀部分需求,但Dart在所有评估维度上得分都很⾼,并且符合我们的所有要求和标准。有趣的英文
Dart运⾏时和编译器⽀持Flutter的两个关键特性的组合:羊皮卷之一
基于JIT的快速开发周期:允许使⽤类型的语⾔进⾏形状更改和有状态的热重载;
AOT编译器,可⽣成⾼效的ARM代码,可以快速启动并拥有可预测的⽣产部署性能。
83届奥斯卡颁奖典礼
此外,flutter开发团队与Dart社区密切合作,Dart社区正在积极投⼊资源改进Dart在Flutter中的使⽤。例如,当我们采⽤Dart时,该语⾔没有提供⽣成原⽣⼆进制⽂件的⼯具链(这对于实现可预测的⾼性能是很有帮助的),但是现在实现了,因为Dart团队为Flutter构建了它。同
样,DartVM之前已经针对吞吐量进⾏了优化,但团队现在正在优化VM的延迟时间,这对于Flutter的⼯作负载更为重要。
Dart在以下主要标准上得到⾼分:
开发⼈员的效率 Flutter的主要价值主张之⼀是通过让开发⼈员使⽤相同的代码库为iOS和Android创建应⽤程序,从⽽节省了⼯程资源。使⽤⾼效的语⾔可以进⼀步加速开发周期,并使Flutter更具吸引⼒。这对我们的framework团队和开发⼈员都⾮常重要。⼤部分Flutter功能都是⽤Dart实现,因此我们需要在10万⾏代码时能保持⾼效的⽽不会牺牲framework和widget的可读性。
⾯向对象虽然我们可以使⽤⾮⾯向对象的语⾔,但这意味着要重新解决⼏个难题。另外,绝⼤多数开发⼈员都具有⾯向对象开发的经验,因此更容易学习如何使⽤Flutter进⾏开发。
可预测,⾼性。借助Flutter,我们希望使开发⼈员能够快速创建流畅的⽤户体验。为了实现这⼀点,百度英语翻译
我们需要能够在每个动画帧中运⾏⼤量的代码。这意味着我们需要⼀种既能提供⾼性能⼜能提供可预测性能的语⾔,⽽不会出现会导致丢帧的周期性暂停。
快速内存分配 Flutter框架使⽤函数式流,它很⼤程度上依赖于底层的内存分配器,从⽽有效地处理⼩的、短期的内存分配会⾮常重要,所以在缺乏此功能的语⾔中Flutter⽆法有效地⼯作。
1.1.2 Flutter框架结构
Flutter框架是⼀个分层的结构,每个层都建⽴在前⼀层之上。
1-1.png
这个设计的⽬标是帮助你⽤更少的代码做更多的事情。例如,Material层是通过组合来⾃Widget层的基本Widget来构建的, 并且Widgets层本⾝是通过较低级对象渲染层构建的。
六级成绩查询时间层为构建应⽤程序提供了许多选项。选择⼀种⾃定义的⽅法来释放框架的全部表现⼒,或者使⽤构件层中的构建块,或混合搭配。 您可以实现Flutter提供的所有现成的widget,或者使⽤Flutter团队⽤于构建框架的相同⼯具和技术创建您⾃⼰的定制widget。
没有什么是隐藏的。您可以从⾼层次,统⼀的widget概念中获得开发效率优势,⽽不会牺牲您希望深⼊到下层的能⼒。
Flutter框架分三层 Framework,Engine, Embedder
Flutter Framework
Framework使⽤dart语⾔实现,包括UI,⽂本,图⽚,按钮等Widgets,渲染,动画,⼿势等。此部分的核⼼代码是flutter仓库下的flutter package,以及sky_engine仓库下的 io, async, ui(dart:ui库提供了Flutter框架和引擎之间的接⼝)等package。
商务主持人培训Flutter Engine

本文发布于:2023-05-14 07:24:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/107942.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:开发   框架   渲染
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图