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

相关推荐
coderlin_6 小时前
BI布局拖拽 (1) 深入react-gird-layout源码
android·javascript·react.js
我是苏苏6 小时前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#
2501_915918416 小时前
Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
android·ios·小程序·https·uni-app·iphone·webview
wen's8 小时前
React Native安卓刘海屏适配终极方案:仅需修改 AndroidManifest.xml!
android·xml·react native
编程乐学9 小时前
网络资源模板--基于Android Studio 实现的聊天App
android·android studio·大作业·移动端开发·安卓移动开发·聊天app
没有了遇见11 小时前
Android 通过 SO 库安全存储敏感数据,解决接口劫持问题
android
hsx66611 小时前
使用一个 RecyclerView 构建复杂多类型布局
android
hsx66611 小时前
利用 onMeasure、onLayout、onDraw 创建自定义 View
android
守城小轩11 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
尽兴-11 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos