MAUI+MASA Blazor 兼容性测试报告及分析
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 兼容性测试报告及分析的更多相关文章
- 在MAUI中使用Masa Blazor
Masa Blazor是什么 在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Balzor,如果还有不了解Masa Blazor的同学可以看我上篇文章[初识Masa Blaz ...
- MASA Blazor入门这一篇就够了
1.什么是Blazor? 有什么优势? ASP.NET Core Blazor 简介 Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScr ...
- MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI
1. 前言 距离上次发<MAUI初体验:爽>一文已经过去2个月了,本计划是下半年或者明年再研究MAUI的,现在计划提前啦,因为我觉得MAUI Blazor挺有意思的:在Android.iO ...
- 初识MASA Blazor
MASA Blazor是一个Blazor的UI组件库.就像大家写前端熟知的Bootstrap, Ant Design一样. MASA Blazor官网地址:https://blazor.masasta ...
- 使用MASA Blazor开发一个标准的查询表格页
前言 大家好,我是开源项目 MASA Blazor 主要开发者之一,如果你还不了解MASA Blazor,可以访问我们的 官网 和博客 <初识MASA Blazor> 一探究竟.简单来说, ...
- 体验了一把最近很火的开源项目-MASA Blazor
前言 很惭愧直到去年底才接触到Blazor.那什么是Blazor呢?相信大家都看过官方文档的详细说明,另外MASA团队也有不错的说明介绍 .用官方的话说Blazor是一个交互式客户端Web UI的框架 ...
- Masa Blazor in Blazor Day
2022年第一场Blazor中文社区的开发者分享活动,我们的团队也全程参与其中,在议程中,也分享了我们团队的Blazor 管理后台模板,针对于Blazor,先科普一波,避免有些朋友不了解,Blazor ...
- Masa Blazor自定义组件封装
前言 实际项目中总能遇到一个"组件"不是基础组件但是又会频繁复用的情况,在开发MASA Auth时也封装了几个组件.既有简单定义CSS样式和界面封装的组件(GroupBox),也有 ...
- 如何使用MASA.Blazor
MASA.Blazor 是什么? 基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库.提供如布局.弹框标准.Loading.全局异常处理等标准场景的预 ...
- 学习MASA第一天:MASA Blazor TEST项目创建
个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top 学习MASA第一天:MASA Blazor TEST ...
随机推荐
- 【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 观察者模式(Observer Pattern)是一种行为型模式.它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 观察者模式使用三个类S ...
- STM32下载ELF文件、最小可执行bin文件测试
1.STM32能下载ELF格式的文件吗? 答:可以.因为所谓的bin文件就是ELF文件的.text代码段. 当然前提是下载工具能识别ELF文件格式,STM32下载ELF文件并不意味着STM32可以把E ...
- 【FAQ】统一扫码服务常见问题及解答
1.隐私政策是怎么样的?收集哪些信息? 关于Scan Kit的隐私政策及收集的信息,请查看SDK隐私安全说明. Android:SDK隐私安全说明 iOS:SDK隐私安全说明 2.如何使用多码识别?多 ...
- 使用RAMMap+PoolMon分析Windows内存异常使用问题
由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢. 1 RAMMap和PoolMon工具简介 RAMMap和PoolMon都是微软Sysinternals的工具,前者可以从使 ...
- [OpenCV-Python] 7 把鼠标当画笔
文章目录 OpenCV-Python: II OpenCV 中的 Gui 特性 7 把鼠标当画笔 7.1 简单演示 7.2 高级一点的示例 OpenCV-Python: II OpenCV 中的 Gu ...
- 高级Java程序员必问,Redis事务终极篇
1. 简介 1.1 什么是Redis事务 Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰.从而在保证数据一致 ...
- 【Vue2.x源码系列08】Diff算法原理
什么是虚拟DOM DOM是很慢的,其元素非常庞大,当我们频繁的去做 DOM更新,会产生一定的性能问题,我们可以直观感受一下 div元素包含的海量属性 在Javascript对象中,虚拟DOM 表现为一 ...
- 最全的git操作命令(持续更新)
当前使用git进行版本管理越来越频繁,但是难免还是有些命令记不全,曾当前闲暇记录一下,免得需要时漫天找寻 目录 一. 配置用户信息 1.git config [配置git 用户信息] 2.git co ...
- nginx: [emerg] https protocol requires SSL support in /usr/local/nginx/conf/nginx.conf:50
最近在nginx中配置一个443端口 一.安装nginx 首先得先安装个nginx 1.安装依赖包 # 一键安装上面四个依赖 [root@dex ~]# yum -y install gcc zlib ...
- Dapr在Java中的实践 之 环境准备
Dapr简介 Dapr (Distributed Application Runtime)是一个可移植的.事件驱动的运行时,它使任何开发人员都可以轻松地构建运行在云和边缘上的弹性.无状态和有状态的应用 ...

