这是我第三篇Flutter相关博客
欢迎 查看我的前两篇 Flutter实现篇
前言
Flutter是Google用以帮助开发者在Ios和Android两个平台开发高质量原生应用的全新移动UI框架.我开始认识Flutter时,经历了三个Flutter重要历史版本.
- 2018年2月27日,在2018世界移动大会上,Google发布了Flutter的第一个Beta版本。
- 2018年6月21日,在全球大前端技术大会上,发布了第一个Release Perview 1版本。
- 2018年12月5日第一个Release 1.0版本发布.
此后越来越多的人开始关注到Flutter。
在 Flutter 诞生之前,已经有许多跨平台 UI 框架的方案,比如基于 WebView 的 Cordova、AppCan 等,还有使用 HTML+JavaScript 渲染成原生控件的 React Native、Weex 等。Flutter 则开辟了一种全新的思路,从头到 尾重写一套跨平台的 UI 框架,包括 UI 控件、渲染逻辑甚至开发语言。
Flutter框架
从图中可以看出 Flutter主要被分为两层 Framework层和Flutter Engine.
Framework层全部使用Dart编写,有完整UI框架的API,并预写了Android(MaterialDesign)和IOS的(Cupertino)风格的UI,极大方便了开发移动端.
Framework 底层是 Flutter 引擎, 引擎主要负责图形绘制 (Skia)、 文字排版 (libtxt) 和提供 Dart 运行时, 引擎全部使用 C++实现.
Flutter高性能原理
与其他跨平台框架对比
在看Flutter框架前,我们先看一下其他跨平台框架的设计