Flutter----开篇介绍

Flutter是Google的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以作为一个纯粹的渲染引擎进行UI的绘制和布局,并且Flutter是完全免费、开源的。

 

Flutter----开篇介绍_第1张图片 标题

Flutter的设计风格,编码方式和对系统原生能力的访问描述如下:

UI设计风格:使用Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。

编程框架:使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。

系统能力:通过平台相关的API、第三方SDK和原生代码让您的应用变得强大易用。 Flutter允许您复用现有的Java、Swift或ObjC代码,访问iOS和Android上的原生系统功能和系统SDK。

Flutter对移动端的开发人员来说,入门很快,Flutter拥有丰富的工具和库,可以帮助您轻松地同时在iOS和Android系统中实现您的想法和创意。 如果您没有任何移动端开发体验,Flutter是一种轻松快捷的方式来构建漂亮的移动应用程序。 如果您是一位经验丰富的iOS或Android开发人员,则可以使用Flutter作为视图(View)层, 并可以使用已经用Java / ObjC / Swift完成的部分(Flutter支持混合开发)。

Flutter能够主要优势体现了跨平台能力,目前主要有Android,IOS,Web和embedded,它不同于其他跨平台的框架RN,Weex.Flutter的UI控件是由它自身进行绘制,底层采用了Skia作为图形渲染引擎,而其它的则是采用原生的UI进行渲染,Flutter同时也设计了对系统能力的访问接口,Flutter整个框架对系统的依赖很少。Flutter的整体架构图如下所示:

Flutter----开篇介绍_第2张图片

其中对平台的依赖主要是是Embedder层,其中Render surface setup为图形页面,Android上的surfaceView,Native plugins比如说webview组件的实现。

Flutter的组件都叫做widget,组件分为两大类StatelessWidget和StatefullWidget, 组件的生命周期如下所示.每次更新后通过setState来标记当前的widget需要重新绘制,也就是所谓的标脏。

Flutter----开篇介绍_第3张图片

Flutter的渲染管道如下所示,当vsync信号被触发的时候,首先UI将当前需要重新渲染的组件widget进行重新布局计算,通过Flutter的三棵树生成layerTree, 然后GPU线程在Skia上进行绘制。

Flutter----开篇介绍_第4张图片

 

 

Flutter中文网地址:https://flutterchina.club/

Flutter官方网站:https://flutter.dev/

SDK下载地址:https://flutter.dev/docs/get-started/install

 

你可能感兴趣的:(Flutter)