1.Flutter简介

1.跨平台方法

  • 1.H5+原生(Cordova、Ionic、微信小程序)

  • 2.JavaScript开发+原生渲染 (React Native、Weex、快应用)

  • 3.自绘UI+原生(QT for mobile、Flutter)

以上三种方法的利弊在这里就不在赘述了,感兴趣的可以自行搜索

2.下面我们看一下flutter的框架结构

截屏2020-04-09下午10.07.35.png

这是一个纯Dart 实现的SDK,自下而上我们做一个简单地介绍:

  • 底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。

  • Rendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树,当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终将UI树绘制到屏幕上,这个过程类似于React中的虚拟DOM。Rendering层可以说是Flutter UI框架最核心的部分,它除了确定每个UI元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。

  • Widgets层是Flutter提供的的一套基础组件库,在基础组件库之上,Flutter还提供了 Material 和Cupertino两种视觉风格的组件库。而我们Flutter开发的大多数场景,只是和这两层打交道。

3.学习flutter的渠道

1.Flutter官网,Flutter中文网,以及Github和StackOverFlow

2.Flutter社区

3.Flutter官方demo和对应的源码

4.网站博客

5.Flutter开源项目

4.Flutter的下载和安装,自行参考Flutter安装

你可能感兴趣的:(1.Flutter简介)