博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter框架概览
阅读量:6194 次
发布时间:2019-06-21

本文共 905 字,大约阅读时间需要 3 分钟。

前言:进入新框架的开发前,有必要整体了解框架设计及特点,对该框架初步认识,此文对Flutter框架进行浅显梳理,以备查阅;
Flutter框架
从该架构图可知,Flutter框架可分为Framework层和Engine层;
Flutter Framework: 整个框架层都是用Dart语言实现,该层提供一套基础库, 用于处理动画、绘图和手势等。并且基于绘图封装了一套 UI组件库,并且细分为两种风格的组件
Materail : Android风格的Widget,包含以下几个大类
  1. App基础结构和导航类型(Scaffold,Appbar,BottomNavigationBar等)
  2. Buttons(悬浮按钮,菜单按钮等)
  3. 输入和选择器(Checkbox,Radio,Switch等)
  4. 对话框,面板
  5. 布局
Cupertino: IOS风格的Widget,主要包含:
CupertinoTabBar,CupertinoPageScaffold,CupertinoTabScaffold,CupertinoTabView
Flutter Engine: 这是一个纯 C++实现的框架层,包含了 Skia引擎(高性能渲染引擎)、Dart运行环境、文字排版引擎等。它可以以 JIT、JIT Snapshot 或者 AOT(预先编译)的模式运行 Dart代码。AOT直接将Dart源码编译成了本地字节码,没有了解释执行的过程,提升执行性能。和Java显著不同的是Dart的"线程"(Isolate)是不共享内存的,各自的堆(Heap)和栈(Stack)都是隔离的,彼此之间通过消息通道来通信。所以,Dart不存在数据竞争和变量状态同步的问题,整个Flutter Framework Widget的渲染过程都运行在一个isolate中,在代码调用 dart:ui库时,提供 dart:ui库中 Native Binding 实现。 这个运行时还控制着 VSync信号的传递、GPU数据的填充等,并且还负责把客户端的事件传递到运行时中的代码。
转载请注明出处
Email:linguowu0622@gamil.com复制代码

你可能感兴趣的文章
JS兼容IE浏览器的方法
查看>>
MySQL8.0 - InnoDB里的Latch定义
查看>>
XML封装与验证消息
查看>>
JVM活学活用——GC算法 垃圾收集器
查看>>
宝宝树获阿里战略投资,估值已达140亿人民币
查看>>
Ghost 2.21.0 发布,基于 Markdown 的在线写作平台
查看>>
Windows Core OS 包含了开源组件
查看>>
DBeaver 社区版 6.0.1 发布,可视化数据库管理平台
查看>>
Qlik通过QlikAccelerate应用拓展Qlik咨询服务
查看>>
沃森和特朗普:一家伟大美国企业的兴与衰
查看>>
纯Java Web项目下的Session共享方案收集(待实践)
查看>>
美国国家癌症研究所发文指出:草甘膦不会导致癌症
查看>>
Redis-Cluster实战--7.Redis-Cluster水平扩容(ruby实现版)
查看>>
医疗电子支付服务为患者解忧
查看>>
科学家研发新型无人机,有羽毛翅膀可快速飞行
查看>>
从StackOverflow来的值得回味的编程观点
查看>>
让机器“读懂”放射学报告
查看>>
长亭科技SafeLine:不让黑客越雷池半步
查看>>
量子思想开辟新的哲学世界
查看>>
万达网络科技集团发布“大数据+区块链”项目
查看>>