Flutter学习-开篇

声明:本人Flutter学习都是基于Flutter官网Flutter中文网,所以会引入其中的一些资源和代码。
《Flutter实战》

Flutter

Flutter是Google退出并开源的便携式UI开发SDK,致力于用统一的代码库为移应用(Android & iOS),Web和桌面应用程序。

Flutter使用Skia作为其2D渲染引擎,跨平台的渲染引擎,使得Flutter可以在不同的平台中渲染出相同的表现。不过当前iOS系统使用的是Metal渲染引擎,所以我们在iOS应用打包中还要将Skia一并打包进去。

Flutter开发使用的Dart语言。Dart的优势在于其同时支持JIT(Just in time)和AOT(Ahead of time)两种运行方式,它允许开发者使用JIT模式(动态解释)进行开发,即时翻译查看代码变动后的效果,使用AOT模式(提前编译)发布应用包。这样做既提高了开发效率,又不影响应用的性能。

Flutter架构

下面是《Flutter实战》中的架构图:

framework.png

从下往上:

  • Foundation层和(Animation, Painting, Gestures)层对应的是Flutter中的dart:ui包,提供了UI的基础能力,包括动画、手势及绘制能力。
  • Rendering层,类似于虚拟DOM的概念,负责构建UI树,进行布局计算和绘制和响应更新。
  • Widgets层是基础的UI组件
  • Meterial和Cupertino是两种不同UI样式的组件库。

Flutter Engine

Flutter Engine是C++实现的 SDK,其中包括了 Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。

了解这些基本知识后,下一步就是搭建开发环境了。Flutter官网安装文档对不同系统搭建Flutter开发环境做了详细说明,请参考官网进行搭建。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 标签(空格分隔): Flutter Dart Flutter简介 Flutter 是 Google推出并开源的移动...
    黄昭鸿阅读 3,375评论 0 1
  • Flutter是什么? Flutter是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开...
    木水Code阅读 3,923评论 0 1
  • 原文 阿里技术 ,传送门 Flutter简介 Flutter的架构主要分成三层:Framework,Engine和...
    盖世英雄_ix4n04阅读 10,731评论 1 23
  • 这两天看了下flutter,感觉这两年可能会爆发,所以尝试在mac和win10上面跑了下hello world.....
    TaoLandd阅读 4,153评论 0 0
  • 需要在真机上调试,例子中打开的是 doc文件,如果手机上装了WPS或者office套件,就能调用这些应用打开。 2...
    福将的逆袭阅读 3,940评论 2 0

友情链接更多精彩内容