ElectronSharp,.Net跨平台的多一种选择

文章目录

背景

最近有个项目是基于Blazor的跨平台项目,要求在Windows、安卓平板和Mac上能跑,而且要求实现视频通话功能,而Web里的视频通话无非就是基于WebRTC技术。经过前期调研,通过套壳MAUI,Windows和安卓平板都能实现在WebView里实现视频通话功能,唯独Mac里不行,查到一些可能的原因:
苹果不允许第三方app通过Safari内核调用摄像头等功能

来源1: https://developer.apple.com/forums/thread/736199

来源2:https://github.com/dotnet/maui/issues/20511

解决方案

那MAUI这条路走不通,只能另寻其他方案,偶然发现Electron.Net不过这个项目停留在.Net 6,从.Net 7开始由ElectronSharp 继续更新维护,目前最新版本已跟进到.Net 9,按着教程实践了一下,除了前期下载Electron环境因为网络问题有点慢,全程基本没有任何障碍,最终效果也是非常完美:

而且,blazor跑在mac上居然流畅度要优于Windows,这是我所没想到的。

小结

项目最终方案是用Blazor写所有的功能,只是在部署的时候根据不同平台套不同的壳部署:

Windows:WPF+WebView2

安卓平板:MAUI+WebView(这里要吐槽一下,在安卓平板上居然有卡顿,不知道是哪没优化好)

MAC:Electron-Sharp

相关推荐
A_nanda6 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
2601_949833396 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
码云数智-园园8 小时前
使用 C# 将 PowerPoint 演示文稿高效转换为 PDF 格式
c#
听麟8 小时前
HarmonyOS 6.0+ 智慧出行导航APP开发实战:离线地图与多设备位置协同落地
华为·wpf·harmonyos
2603_949462108 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
PfCoder9 小时前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
王泰虎10 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
雪域迷影11 小时前
MacOS中运行Next.js项目注册新用户时MongoDB报错MongoServerError
mongodb·macos·react·next.js
gc_229911 小时前
C#学习调用OpenMcdf模块解析ole数据的基本用法(1)
c#·ole·openmcdf
2601_9495430114 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter