Flutter之我们需要掌握的知识点

Flutter是一套高效的跨平台免费开源SDK,可支持在移动端的Android、iOS进行开发,也支持Web桌面端、嵌入式界面开发。现在已经更新到1.5版本,下面来介绍Flutter概念、Flutter能够做什么、Flutter使用什么语言开发、Flutter框架、Flutter构建原理、Flutter如何在Android与iOS运行等等。

一、Flutter是什么

Flutter是Google的移动应用SDK,用于在Android和iOS平台创建高质量的原生体验。直至现在更新到1.5版本,可支持Web桌面端与嵌入式界面开发。

二、Flutter能够做什么

对于应用的用户来说,Flutter可以让他们体验到美观灵活的UI界面。

对于我们开发者来说,Flutter降低了创建移动应用的门槛。它加速了移动应用的开发,降低了兼顾Android和iOS应用开发的成本和复杂性。

对于设计师而言,Flutter可以确保精确地实现设计意图,而无需降低保真度或被迫进行妥协。在设计师的手中,Flutter还可以作为一种高效的原型设计工具。

三、Flutter特点

Flutter与大多数用来构建移动应用的工具不同,因为它既不使用WebView,也不使用设备附带的OEM Widget,而是使用自己的高性能渲染引擎来绘制Widget。

Flutter与其它工具不同之处在于,它只有一层简洁的C/C++代码,在这之上,Flutter使用Dart(一种现代化的、简洁的面向对象语言)实现大部分系统功能(布局、手势、动画、框架、Widget等),这种语言使得开发者可以轻松地进行阅读、更改、替换或删除。

四、Flutter的SDK构成

1、高度优化的针对移动应用的2D渲染引擎,更具备出色的文字支持能力;

2、现代化的React风格框架

3、适用于Android和iOS的丰富Widget;

4、用于单元和集成测试的API;

5、用于连接系统和第三方SDK的互操作及插件API;

6、无界面(headless)测试运行器,用于在Windows、Linux和Mac上的运行测试;

7、命令行工具,用于创建、构建、测试和编译应用;

五、Flutter构建原理

Flutter使用C、C++、Dart和Skia(2D渲染引擎)构建,如下图所示:

六、Flutter在Android上运行

引擎的C、C++代码使用Android的NDK进行编译。Dart代码都是预先(Ahead Of Time,AOT)编译成本地ARM及x86库。这些库被包含在一个Android"runner"项目中,然后整套内容被编译成一个APK。当应用启动时,它会加载Flutter 库。任何渲染、输入或事件处理等都会delegate给编译好的Flutter和应用代码。这个 工作机制与许多游戏引擎颇为类似。

调试模式时则使用虚拟机来运行代码Dart(此时会显示“Debug”字样,以提醒开发者速度会稍微变慢),这样便可以启用有状态热重载(Stateful Hot Reload)

七、Flutter在iOS上运行

引擎的C、C++代码使用iOS的LLVM进行编译。Dart代码都是预先(Ahead Of Time,AOT)编译成本地ARM库。这些库被包含在一个iOS"runner"项目中,然后整套内容被编译成一个ipa。当应用启动时,它会加载Flutter 库。任何渲染、输入或事件处理等都会delegate给编译好的Flutter和应用代码。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐福记456

您的鼓励和肯定是我创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值