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. DyLoRA:使用动态无搜索低秩适应的预训练模型的参数有效微调

    又一个针对LoRA的改进方法: DyLoRA: Parameter-Efficient Tuning of Pretrained Models using Dynamic Search-Free Lo ...

  2. Indent----- IndentationError: unexpected indent

    Unexpected indent 错误 注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现.但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个 ...

  3. 简单记录下RestTemplate使用方法

    1.设置get方法 ResponseEntity<JSONObject> responseEntity= restTemplate.getForEntity(url,JSONObject. ...

  4. 修改mysql的密码时遇到问题ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corre

    先输入:flush privileges; 再输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql'; 再输入:flush privileges刷 ...

  5. 2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你一个数组 graph 表示这个图, 其中,graph[i] 是一个列表,由所有与节点 i

    2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你一个数组 graph 表示这个图, 其中,graph[i] 是一个列表,由所有与节点 i ...

  6. 音视频八股文(3)--ffmpeg常见命令(2)

    07-ffplay命令播放媒体 播放本地文件 播放本地 MP4 视频文件 test.mp4 的命令,从第 2 秒位置开始播放,播放时长为 10 秒,并且在窗口标题中显示 "test time ...

  7. 2023-04-11:给你下标从 0 开始、长度为 n 的字符串 pattern , 它包含两种字符,‘I‘ 表示 上升 ,‘D‘ 表示 下降 。 你需要构造一个下标从 0 开始长度为 n + 1 的

    2023-04-11:给你下标从 0 开始.长度为 n 的字符串 pattern , 它包含两种字符,'I' 表示 上升 ,'D' 表示 下降 . 你需要构造一个下标从 0 开始长度为 n + 1 的 ...

  8. 2022-02-17:寻找最近的回文数。 给定一个表示整数的字符串 n ,返回与它最近的回文整数(不包括自身)。如果不止一个,返回较小的那个。 “最近的”定义为两个整数差的绝对值最小。 示例 1: 输

    2022-02-17:寻找最近的回文数. 给定一个表示整数的字符串 n ,返回与它最近的回文整数(不包括自身).如果不止一个,返回较小的那个. "最近的"定义为两个整数差的绝对值最 ...

  9. vue全家桶进阶之路18:Vue Router

    Vue Router 是 Vue.js 的官方路由管理器,它可以帮助我们实现单页应用(Single Page Application,SPA)的前端路由. Vue Router 基于 Vue.js 的 ...

  10. HTML5网页游戏开发

    HTML概述 互联网上的应用程序被称为Web应用程序,web应用程序使用Web文档(网页)来表示用户界面,Web文档都遵循html格式,html5是最新的html标准 HTML基础 HTML是Hype ...