Flutter 演进和实现原理

Tamic 原文可关注开发者我技术前线
https://tamic.blog.csdn.net/article/details/89281867

Flutter发展历史

2018 年已经过去的这段时间里,Flutter 有着非常大的进展:

2015年5月Dart开发者峰会上,亮相了基于Dart语言的移动应用程序开发框架Sky [8-9] ,后更名为Flutter

2 月底在世界移动大会 (MWC) 上宣布了第一个 Beta 版发布;

5 月的 Google I/O 大会上发布了 Beta 3;

6 月底的 GMTC 宣布了首个发布预览版;

9 月的谷歌开发者大会 (Google Developer Days) 上,宣布 发布预览版 2 发布。

12月 Flutter live 2018 发布1.0稳定版本

2019年3月发布1.2

Flutter 在 Github 最受欢迎的开源软件中排名前 50,大量的中国开发者开始使用 Flutter 构建跨平台 (Android & iOS) 的应用 —— 阿里巴巴、腾讯、京东等都使用 Flutter 发布了自己的应用。

跨平台方案演进

回顾移动的发展历史,从Android 和 iOS 开发起步的时候,大家用的最多的就是原生开发,

第一阶段技术:原生开发

当时的架构都是这种形式,在系统的framework上面不断的开发新的功能,那个年代,开源库也没有现在这么多,所以大家都是出于造轮子的过程。

但这样明显有一个痛点:就是 Android iOS WP,网页端四分天下的格局,每个公司需要维护四个团队,这样成本很高,所以就有了一个迫切的需求,能否开发一套在多个平台上运行,这样可以大大降低开发成本。

在这里插入图片描述

第二阶段的技术:HYBRID

在这里插入图片描述

这个阶段h5兴起,甚至有一段时间大家觉得h5会替代Android原生开发,当时也出现了很多的开源框架来实现H5与底层的交互框架:PhoneGap,Cordova,Ionic,Xamarin

当然这种

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter是一种用于构建跨平台移动应用程序的开源UI工具包。它使用Dart编程语言,并提供了一个丰富的组件库,使开发人员可以轻松地构建漂亮、流畅且高性能的应用程序。Flutter实现原理涉及几个关键概念和流程。 首先,Flutter应用程序由一个个小部件(widget)构成。小部件是构建用户界面的基本元素,可以是按钮、文本框、图像等。小部件可以嵌套,并按照一定的层次结构组织在一起,形成复杂的用户界面。 其次,Flutter使用Skia图形引擎来绘制用户界面。Skia是一个跨平台的2D图形库,它提供了高效的绘图和渲染功能。Flutter将应用程序界面转化为一系列的绘图指令,然后通过Skia将这些指令渲染到屏幕上。 另外,Flutter应用程序是通过Dart虚拟机来执行的。Dart虚拟机负责解释和执行Dart代码,并管理应用程序的运行时环境。Flutter框架提供了丰富的API和工具,使开发人员可以轻松地编写和调试应用程序。 在具体的实现过程中,Flutter应用程序通常包含一个或多个FlutterActivity。FlutterActivity是一个Android Activity,它负责创建和管理Flutter的运行时环境。在FlutterActivity中,通过FlutterActivityDelegate处理核心流程,包括创建FlutterView或FlutterNativeView,并将其设置为应用程序的主视图。 总之,Flutter通过组件化的方式构建用户界面,使用Skia图形引擎渲染界面,并由Dart虚拟机执行应用程序。这种架构使得Flutter具有高性能、快速开发和良好的跨平台兼容性的特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值