分析| Flutter 3.10版本有哪些变化?

news2024/9/22 7:36:36

Flutter是Google推出的一款用于构建高性能、高保真度移动应用程序、Web和桌面应用程序的开源UI工具包。Flutter使用自己的渲染引擎绘制UI,为用户提供更快的性能和更好的体验。Flutter还提供了丰富的构建工具、库和插件,使开发人员能够更快地构建应用程序。

今天就为大家带来Flutter 3.10版本的变化分析。

1、Dart 3


众所周知,Flutter是建立在Dart语言基础上的,本次大会上,Dart发布了一个大的版本,这是编程语言的重大更新。
(Flutter 的安装说明可在docs.dev.flutter找到,Dart SDK 的安装说明可在dart.dev找到。)Dart 3现在作为稳定版本提供,包含以下三项主要改进:

  • 100% 可靠的 null 安全性,它避免了 null 的运行时错误,提供更小的编译输出,并提高了性能。目前,Dart开发包管理器上的 1,000 个包中有 99%支持空安全。

  • 新语言功能支持具有记录、解构和模式匹配的结构化数据,以及用于现代编程的抽象数据类型。

  • 类修饰符,一种“高级用户”功能,使包所有者能够更好地表达 API 的功能。


Dart 的构建者也一直致力于将 Dart 编译为 Wasm 二进制格式,目标是在浏览器中带来更快的加载速度并提高 Web 应用程序的性能。Dart 到Wasm 的编译现在正在预览中。要编译为 Wasm,开发人员需要支持WasmGC 的浏览器。

2、Material 3 widget


Flutter 3.10改进了对 Material 3 widget 工具包的支持,包括对 Material 3 算法配色方案生成的支持,以及一些使构建 macOS 和 iOS 应用程序更容易的改进。后者包括在可编辑文本小部件中添加拼写检查支持、一个新的复选框小部件以及对无线调试的支持。Impeller 渲染器从 Flutter 3.7 开始预览,现在是 iOS 上的默认渲染器,承诺更少的卡顿和更一致的性能。
Flutter 3.10 中还有一个 JNI 桥接器,用于连接用Kotlin编写的 Jetpack 库,无需外部插件即可直接从 Dart 调用新的 Jetpack 库。
Google在大会上,对 Flutter 的总体目标是提供五个核心特性:

  • 美观:提供对屏幕上每个像素的控制;

  • 速度:由硬件加速图形提供支持;

  • 生产力:工作负载由热重载和开发工具支持;

  • 可移植性:为多个平台利用单一共享代码库;

  • 普遍可用性:通过免费和开源来实现。

 

Flutter+小程序容器组装成的App,更高效、更实用


小程序容器技术则是一种相对新型的技术,它是通过在客户端中集成一个小程序容器,来运行小程序的一种技术方案。小程序容器技术可以提供一个独立运行环境和安全沙箱环境,从而使得小程序可以在不同的平台和设备上运行,同时也提高了小程序的安全性和稳定性。
市面上一些比较知名的小程序容器技术产品包括:微信、支付宝、百度、抖音小程序等,他们都是以完善大社交平台自有小程序生态的技术底座,能提供第三方进行私有化部署的有:FinClip、mPaaS等产品。
小程序容器技术的特点主要包括以下几个方面:

  1. 快速启动:小程序容器采用了轻量级的架构,可以快速启动应用程序,并且无需等待下载和安装,从而提高了用户的使用体验。

  2. 独立运行环境:小程序容器提供了独立的运行环境,使得开发者可以在不同的平台和设备上开发和部署应用程序,无需关注具体的硬件和操作系统环境。

  3. 安全沙箱环境:小程序容器为应用程序提供了安全的沙箱环境,使得应用程序的运行不会影响到系统的其他部分。同时,小程序容器还提供了一些安全机制,如权限控制、数据加密等,保障应用程序的安全性。

  4. 常用功能和组件:小程序容器提供了许多常用的功能和组件,如UI组件、网络请求、本地存储等,使得开发者可以快速构建应用程序,并且不需要编写复杂的底层代码。

  5. 优秀的用户体验:小程序容器提供了快速启动、无需下载、即用即走等特点,使得应用程序可以快速地被用户接受和使用。


笔者了解了下市面上的第三方小程序技术FinClip,发现将开发好的Flutter小程序,通过FinClip SDK的方式运行至App终,有诸多好处。
首先,在FinClip平台上运行Flutter小程序,开发者使用FinClip Flutter插件来连接Flutter应用程序和FinClip平台。这个插件提供了一些API和组件,使得开发者可以轻松地集成和部署Flutter小程序,而不需要考虑复杂的细节和配置。
其次,FinClip平台支持各种类型的Flutter应用程序,包括单页应用程序、多页应用程序、混合应用程序等等。开发者可以根据实际需求来选择不同的应用程序类型,并在FinClip平台上进行定制和部署。例如,开发者可以使用Flutter来构建一个美观、流畅、易于使用的移动购物应用程序,然后将其部署到FinClip平台上,并使用FinClip的支付功能来提供安全、便捷的付款体验。
此外,FinClip平台还提供了一些开发工具和服务,帮助开发者快速构建和测试Flutter应用程序,包括模拟器、调试工具、测试工具等等。这些工具和服务可以帮助开发者快速识别和解决问题,提高应用程序的稳定性和质量。
最后,由于FinClip平台支持跨平台开发和部署,开发者可以轻松地将Flutter应用程序移植到其他平台上,例如iOS、Android、H5等等。这意味着开发者可以通过一次开发,获得多个平台的应用程序,从而节省了大量的时间和精力,并提高了应用程序的可用性和覆盖面。

最后


Flutter是一款强大的跨端开发框架,可以帮助开发者构建高性能、美观、灵活的应用程序,从而实现跨平台开发和部署。小程序容器技术与跨端框架结合使用,为开发者提供一站式的小程序开发和发布服务,帮助他们更加轻松和高效地构建和部署跨平台应用程序,这样开发者可以节省大量的时间和精力,并提高应用程序的质量和稳定性,从而满足不同用户的需求和期望。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从浅入深理解序列化和反序列化

文章目录 什么是java序列化什么情况需要使用 Java 序列化为什么要序列化序列化和反序列化过程如下RPC 框架为什么需要序列化序列化用途序列化机制可以让对象地保存到硬盘上,减轻内存压力的同时,也起了持久化的作用序列化机制让Java对象可以在网络传输 实…

LINUX 提权 脏牛CVE-2016-5195

这里写复现过程,不写原理 Linux内核 > 2.6.22(2007年发行,到2016年10月18日才修复) 靶场环境是vluhub上的。网卡自己配置好 nmap扫一下 80端口开的,上去 52.136 再扫 1898开放 访问开干 是个cms msf上线找这…

【VictoriaMetrics】VictoriaMetrics单机版批量和单条数据写入(opentsdb格式)

VictoriaMetrics单机版支持以opentsdb格式的数据写入包含linux形式和postman形式,写入支持单条数据写入以及多条数据写入,下面操作演示下如何使用 1、首先需要启动VictoriaMetrics单机版服务 注意,如果支持opentsdb协议需要在启动单机版VictoriaMetrics的时候加上opentsdbH…

一、尚医通微信登录

文章目录 一、登录需求1、登录需求 二、微信登录1、OAuth21.1OAuth2解决什么问题1.1.1 开放系统间授权1.1.2图例1.1.3方式一:用户名密码复制1.1.4方式二:通用开发者key1.1.5方式三:颁发令牌 1.2 OAuth2最简向导1.2.1 OAuth主要角色1.2.2最简向…

就业内推 | 国企招运维、网安,五险一金全额缴,最高15k

01 北京安信创业信息科技发展有限公司 🔷招聘岗位:网络运维岗 🔷职责描述: 1、负责北区数据中心、总部数据中心、部本部、21家在京直属事业单位内网网络系统的日常运行维护工作。 2、负责网络故障的应急处置。 3、负责网络系统…

决策树及决策树的划分依据(ID3、C4.5、CART)

一、决策树是什么? 决策树是一种基于树状结构的机器学习算法,用于解决分类和回归问题。它是一种自上而下的递归分割方法,通过对特征空间的递归划分来构建一个树形模型,用于进行预测和决策。在决策树中,每个内部节点表…

Redis概述

前言 为什么要使用Redis? ​ 如果熟悉JVM底层的话,就能了解Java程序的运行大多数都是基于对内存的操作,读取、并更、清理,并同时保证数据的可靠性。即使是数据库,例如MySQL几乎都是基于对缓冲区的操作,只是通过后台…

(常见)数据模型

文章目录 数据模型概述一、数据模型概要1.模型、建模与抽象2.数据模型3.两类数据模型 二、数据库模型的组成要素1.数据结构2.数据操作3.数据的完整性约束 三、概念模型1.概要2.基本概念3.概念模型的表示方法 常用数据模型一、层次模型1.简介2.数据结构3.数据操纵与完整性约束4.…

二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出:1 示例 2: 输入&am…

List、Set、Map的区别?

List 是一个有序集合,里面可以存储重复的元素Set 是一个不能存储相同元素的集合Map 是一个通过键值对的方式存储元素的,键不能重复 Java 容器分为Collection 和Map 两大类,Collection 集合的子接口有Set、List、Queue 三种子接口。其中&#…

CSDN MD编辑器跳转方法及字体格式

一、点击关键语句跳转指定位置 在CSDN写文章的时候,写的文章过长往往会让读者很难找到自己想看的部分,这时候有个 跳转到指定位置功能 就非常的便利。CSDN在MD编辑器上(富文本编辑器只有一种)就提供了两种跳转到指定位置的方法: 一、目录跳转…

HackTheBox-关卡Fawn

1. 连接靶场,打开FAWN实例场景,检查是否互通 TASK1 3 个字母的首字母缩写词 FTP 代表什么? 答案是:File Transfer Protocol TASK2 问题是:FTP服务通常监听哪个端口? FTP监听的TCP端口号为21,监听的数据端…

【自动化测试】selenium工具

文章目录 为什么要做自动化测试?为什么选用Selenium?Selenium的工作原理SeleniumJava环境搭建Selenium常用API浏览器参数配置定位元素操作测试对象时间等待信息打印对浏览器操作键盘与鼠标操作屏幕截图弹窗处理选择框的处理上传文件 JUnit单元测试注解参…

睡岗识别 TensorFlow

睡岗识别可以通过TensorFlowAI深度学习框架智能分析技术,睡岗识别识别出现场人员是否存在睡岗情况,及时发出预警,避免因操作人员的疏忽而导致的安全事故。TensorFlow 是一个开源的机器学习的框架,我们可以使用 TensorFlow 来快速地…

3年自动化测试这水平?我还不如去招应届生...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。看简历很多都是3年工作经验,但面试…

【Python Seaborn】零基础也能轻松掌握的学习路线与参考资料

Python Seaborn是一个基于Python的可视化库,为Matplotlib库的扩展,提供了更加高级的数据可视化功能和丰富的统计图形。在学习Python数据科学和机器学习中,Seaborn有很好的数据可视化工具,也能够提供有帮助的统计图表来揭示数据之间…

实时频谱-2.5DPX

数字荧光显示 “数字荧光”一词源自包在阴极射线管(CRT)上的荧光,电视机、计算机监视器和其它测试设备显示器都使用阴极射线管。在电子束激活荧光时,它会发出荧光,照亮电子流画出的路径。 尽管液晶显示器(LCD)之类的光栅扫描技术由于厚度和…

29 KVM管理系统资源-调整虚拟CPU绑定关系

文章目录 29 KVM管理系统资源-调整虚拟CPU绑定关系29.1 概述29.2 操作步骤 29 KVM管理系统资源-调整虚拟CPU绑定关系 29.1 概述 把虚拟机的vCPU绑定在物理CPU上,即vCPU只在绑定的物理CPU上调度,在特定场景下达到提升虚拟机性能的目的。比如在NUMA系统中…

基于孪生网络的目标跟踪

一、目标跟踪 目标跟踪是计算机视觉领域研究的一个热点问题,其利用视频或图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标的位置。具体而言,视觉目标(单目标)…

JMeter+Grafana+Influxdb搭建可视化性能测试监控平台原创

【背景说明】 使用jmeter进行性能测试时,工具自带的查看结果方式往往不够直观和明了,所以我们需要搭建一个可视化监控平台来完成结果监控,这里我们采用三种JMeterGrafanaInfluxdb的方法来完成平台搭建 如果你想视频学习Jmeter接口测试&…