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. 景顺长城基于 Apache APISIX 在金融云原生的生产实践

    本文介绍了景顺长城在金融云原生架构演进中选择 APISIX 作为网关工具的技术细节,同时分享了使用 APISIX 的实践细节,并对 APISIX 的未来展望进行了探讨. 作者李奕浩,景顺长城信息技术部 ...

  2. Gateway同时使用断言跟过滤器查询数据库报了这个错误怎么解决?

    DynamicServerListLoadBalancer for client shop-product-sentinel initialized: DynamicServerListLoadBal ...

  3. 痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式. 如果你在 i.MXRT1xxx 板卡上尝试过从 SD ...

  4. Vulhub activewq_漏洞复现——源码分析

    Vulhub activewq_漏洞复现--源码分析 漏洞简介 Apache ActiveMQ是由美国阿帕奇(Apache)软件基金会开发的开源消息中间件,支持Java消息服务.集群.Spring框架 ...

  5. 文心一言 VS chatgpt (14)-- 算法导论3.2 2~3题

    二.证明等式(3.16):a ^ {\log_b c} = c ^ {\log_b a}. 文心一言: chatgpt: 我们需要证明的等式为:$a^{\log_b c} = c^{\log_b a} ...

  6. redis内存突然暴增,排查思路是什么

    1 这种暴增的应该还是上次一个群友说的,更多可能是外部因素导致的,应用新上线,定时任务这些,再有就是cat上查是哪些指令多,以及比对和之前的时间的差异 看是否有定时任务 或者 新上线的活动 ,在看下监 ...

  7. 2021-05-03:给定一个非负整数num, 如何不用循环语句, 返回>=num,并且离num最近的,2的某次方 。

    2021-05-03:给定一个非负整数num, 如何不用循环语句, 返回>=num,并且离num最近的,2的某次方 . 福大大 答案2021-05-03: 32位整数,N=32. 1.非负整数用 ...

  8. 2021-06-25:只由小写字母(a~z)组成的一批字符串,都放在字符类型的数组String[] arr中,如果其中某两个字符串所含有的字符种类完全一样,就将两个字符串算作一类,比如:baacbba

    2021-06-25:只由小写字母(a~z)组成的一批字符串,都放在字符类型的数组String[] arr中,如果其中某两个字符串所含有的字符种类完全一样,就将两个字符串算作一类,比如:baacbba ...

  9. values_list() 元组形式显示查询结果

    values_list() 元组形式显示查询结果 name,age为数据库的两个列 Student.objects.values_list('name','age') values_list() 元组 ...

  10. lec-4-Introduction to Reinforcement Learning

    模仿学习imitation learning与RL的不同 模仿学习中需要有专家指导的信息 RL不需要访问专家信息 RL Definitions 奖励函数 马尔科夫决策链 只与上一个状态有关 目的 空间 ...