1. 背景

MASA Blazor组件是一款基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库。提供如布局、弹框标准、Loading、全局异常处理等标准场景的预置组件。它旨在为开发者提供强大的用户界面和出色的用户体验。适用于PC及移动端。由于越来越多的.Net开发者开始使用MAUI+Blazor的框架来开发移动端应用,我们决定对MASA Blazor组件在MAUI框架进行兼容性测试,以确保其在移动端App中的兼容性和稳定性。为了保持客观的结果,我们使用第三方云测机构对我们的应用进行测试,并没有告知采用的架构及相关技术细节。

2. 目的

本报告的主要目的是总结我们对MASA Blazor组件在MAUI框架开发的移动端App上进行的测试结果。通过这次测试,我们的目标是验证MASA Blazor组件在MAUI框架下的表现,识别任何潜在的问题和缺陷,并提供改进和优化建议,以确保用户可以在各种移动设备上无缝使用该组件。

3. 测试目标

确保MASA Blazor组件在MAUI框架移动端App上的兼容性和稳定性,包括iOS与Android平台。

确保组件的功能和特性在移动设备上能够正确运行,不会导致任何错误或异常行为。

验证组件在不同移动设备的屏幕大小和分辨率下的适应性和可用性。

4. 预期结果

所有已知的功能和特性在移动端App上均能正常工作,并提供与Web应用程序相似的用户体验。

未发现严重的缺陷或崩溃问题,确保组件在移动设备上的稳定性和可靠性。

对于不同的移动设备,组件能够自动适应并正确显示,不会出现布局错乱或显示问题。

对于设备不存在长时间高CPU占用、高内存占用、高电池消耗等情况。

5. 测试策略及范围

首先我们准备了使用MASA Blazor+MAUI开发的一款包括Android与iOS的应用,并准备了覆盖我们业务的45个操作步骤。云测会采用自动脚本加人工复核的方式进行测试。

6. 测试结果与分析



















下面是性能部分





















我们对内存占用问题进行了分析,发现是部分页面后台上传了巨大无比的图片导致的,之后我们对图片体积进行了优化,优化之后的数据如下





这里可以看的图片优化之后内存占用明显减少,剩余的内存占用大多在图形部分(Graphics),并在页面切换后可以很快释放使用的内存。

另外最下面的柱状图显示,除了在蓝牙工作时会有部分明显电量消耗之外,其他浏览页面的时间段并没有明显高耗电现象,CPU占用也处在正常范围。





云测测试的手机型号

iphone设备



300台安卓设备见附件

300台安卓设备列表

7. 附加内容

同时我们的应用也通过了apple store的审核



部分国内厂家商店审核过程中的测试结果





8. 结尾

微软MAUI的出现,给广大.Net开发者提供了开发移动端应用的能力,而MAUI+Blazor技术更是大大简化了开发的流程并降低了技术门槛。

MASA Blazor作为Blazor家庭中广受欢迎的组件,无论在PC端还是移动端都可以提供良好的交互与性能,并提供了大量移动端专用组件。

我们日后会结合业务继续对MASA Blazor在移动端的其他组件进行测试,希望MASA Blazor可以成为MAUI开发的首选组件库!

MAUI+MASA Blazor 兼容性测试报告及分析的更多相关文章

  1. 在MAUI中使用Masa Blazor

    Masa Blazor是什么 在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Balzor,如果还有不了解Masa Blazor的同学可以看我上篇文章[初识Masa Blaz ...

  2. MASA Blazor入门这一篇就够了

    1.什么是Blazor? 有什么优势? ASP.NET Core Blazor 简介 Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScr ...

  3. MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI

    1. 前言 距离上次发<MAUI初体验:爽>一文已经过去2个月了,本计划是下半年或者明年再研究MAUI的,现在计划提前啦,因为我觉得MAUI Blazor挺有意思的:在Android.iO ...

  4. 初识MASA Blazor

    MASA Blazor是一个Blazor的UI组件库.就像大家写前端熟知的Bootstrap, Ant Design一样. MASA Blazor官网地址:https://blazor.masasta ...

  5. 使用MASA Blazor开发一个标准的查询表格页

    前言 大家好,我是开源项目 MASA Blazor 主要开发者之一,如果你还不了解MASA Blazor,可以访问我们的 官网 和博客 <初识MASA Blazor> 一探究竟.简单来说, ...

  6. 体验了一把最近很火的开源项目-MASA Blazor

    前言 很惭愧直到去年底才接触到Blazor.那什么是Blazor呢?相信大家都看过官方文档的详细说明,另外MASA团队也有不错的说明介绍 .用官方的话说Blazor是一个交互式客户端Web UI的框架 ...

  7. Masa Blazor in Blazor Day

    2022年第一场Blazor中文社区的开发者分享活动,我们的团队也全程参与其中,在议程中,也分享了我们团队的Blazor 管理后台模板,针对于Blazor,先科普一波,避免有些朋友不了解,Blazor ...

  8. Masa Blazor自定义组件封装

    前言 实际项目中总能遇到一个"组件"不是基础组件但是又会频繁复用的情况,在开发MASA Auth时也封装了几个组件.既有简单定义CSS样式和界面封装的组件(GroupBox),也有 ...

  9. 如何使用MASA.Blazor

    MASA.Blazor 是什么? 基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库.提供如布局.弹框标准.Loading.全局异常处理等标准场景的预 ...

  10. 学习MASA第一天:MASA Blazor TEST项目创建

    个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top 学习MASA第一天:MASA Blazor TEST ...

随机推荐

  1. [操作系统] - 进程切换&进程控制

    2.1.6 进程切换 名称解析 进程的上下文(Context) 当一个进程在执行时,CPU的所有寄存器的值.进程的状态以及堆栈中的内容被称为进程的上下文Context 进程的切换(switch) 当内 ...

  2. 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim

    @ 目录 前言 简介 小试牛刀 vi/vim 工作原理及三种模式 常用快捷键 命令行图解 前言 上一篇中已经预告,我们这篇主要说Linux中vi/vim 编辑器.它是我们使用Linux系统不可缺少的工 ...

  3. asyncio的基本使用框架,python高效处理数据,asyncio.gather(),asyncio. create_task(),asyncio.run(main())

    asyncio 是 Python 3.4 引入的标准库,是一个基于事件循环的异步 I/O 并发库.它提供了一种协作式的多任务处理方式,使得我们能够在一个线程中并发处理多个 I/O 操作.它通过将 I/ ...

  4. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  5. [Pytorch框架] 4.3 fastai

    文章目录 4.3 fastai 4.3.1 fastai介绍 fastai库 fast.ai课程 Github 4.3.2 fastai实践 MNIST 4.3.3 fastai文档翻译 import ...

  6. [OpenCV-Python] 18 图像梯度

    文章目录 OpenCV-Python:IV OpenCV中的图像处理 18 图像梯度 18.1 Sobel 算子和 Scharr 算子 18.2 Laplacian 算子 OpenCV-Python: ...

  7. Laf Assistant:云开发从未如此爽快!

    原文链接:https://forum.laf.run/d/67 工欲善其事,必先利其器.在编写代码时,IDE 也是我们不可或缺的.它可以让我们更高效地完成代码编写,提高开发效率.因此,IDE 是我们编 ...

  8. SQLLabs靶场 less11-20

    SQLLabs靶场 less11-20 Less-11-16 请求方式 注入类型 拼接方式 POST 联合.报错.布尔盲注.延时盲注 username='x'11 请求方式 注入类型 拼接方式 POS ...

  9. I2C总线 | I2C总线介绍

    I2C总线 | I2C总线介绍 目录 I2C总线 | I2C总线介绍 I2C总线介绍 I2C有如下特点: I2C总线术语 I2C总线位传输 IIC总线数据传输 1.字节格式 2.应答响应 IIC总线寻 ...

  10. node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

    使用 gvm 可以带来以下好处: 快速切换 Golang 版本,方便进行版本测试和开发: 可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突: 可以通过 gvm 管理不同版本的 Go ...