不管是出于产品定位、多平台统一亦或是国产化要求。跨平台都是桌面开发都是必须要面对的一个课题,下面简单列举下主流或一些新兴的跨平台方案,以备后续使用。
1、Qt
Qt是一个跨平台的C++图形用户界面库,可以部署在Windows、Mac、Linux、嵌入式系统(QNX等)、Android等平台,兼容广泛。常用软件有:Maya、Google Earth、钉钉、WPS、VirtualBox、XnViewMP、RDM、OneDrive等等,应用非常广泛。
Qt目前有商业版和开源版。开源版商业化风险请参考:Qt License分析、开源版与商业版的区别 - fengMisaka - 博客园 (cnblogs.com)
2、Electron
Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架,融合了Chromium 和 Node.js ,一套代码可打包发布到Windows、macOS和Linux。开源地址:electron
使用Electron开发的常用软件有:VS Code、Postman等,具体如下:
值得一提的是,基于Electron版的QQ已经在内测了,Mac版体验:QQ Mac版-新不止步·乐不设限,Linux版体验:QQ Linux版-新不止步·乐不设限。具体的选型与考虑请移步:腾讯基于Electron技术的Windows版QQ内测版本预计2023 年推出,该版本有哪些新功能? - 知乎 (zhihu.com)
3、MAUI
.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。很遗憾到目前为止,还不支持Linux。开源地址:maui
4、Avalonia
Avalonia是一个跨平台的dotnetUI框架,支持广泛的平台,如Windows,macOS,Linux,iOS,Android和WebAssembly。开源地址:
Avalonia
5、Uno
Uno是一个大一统的UI平台,支持身边常用平台Windows, Web/WebAssembly, iOS, macOS, Android, Linux。开源地址:uno
6、Photino
Phoptino是一个轻量级的开源框架,用于使用Web UI技术构建的跨平台桌面应用。Photino使用操作系统内置的Chromium或基于WebKit的浏览器控件,适用于Windows,macOS和Linux。是一个比较新的项目,还要持续关注。开源地址:photino.NET