关于跨平台框架的研究
软件类:
Flutter
目前支持android/ios端跨平台,支持web/macos/linux/windows,但是还不完善,不建议开发桌面软件(但从长远来看,我看好它)
MAUI
采用.NET技术开发跨平台的UI框架
Electron
兼容 Mac、Windows 和 Linux,可以开发三个平台的应用程序
go
go语言主要是编写后端程序,但也可以开发android/ios/windows/linux应用,但是开发难度较高
python
python也能跨平台,通过kivy插件
angular
支持开发移动应用与桌面应用,但貌似国内写的人比较少
uniapp
根据小程序而流行起来的ui框架,支持编译为各种小程序,并且支持导出为h5,支持导出为android/ios,如果对电脑端页面以及app端要求不高,可以考虑
java
可以用java swing/javaFx开发跨桌面的应用,但缺点是必须安装jdk或者在安装包内包含jdk,体积较大,部分UI以外的代码可以共享给安卓app
React Native
能够在Javascript和React的基础上获得完全一致的开发体验,构建移动应用
Kotlin Native
Kotlin Native是一种将Kotlin源码编译成不需要任何VM支持的目标平台二进制数据的技术,相关资料:https://www.jianshu.com/p/93fcc7bbbe74
中文学习网站:http://www.kotlincn.net/docs/reference/native-overview.html
iOS跨平台开发:Kotlin Multiplatform入门:360doc.com/content/20/0120/03/21412_887090166.shtml
Multi-OS Engine
https://doc.multi-os-engine.org/multi-os-engine/3_getting_started/7_porting/porting.html
NativeScript
Swift for Android
https://www.ctolib.com/flowkey-UIKit-cross-platform.html
游戏类:
unity3d
支持发布windows/macos/ios/linux/web/android/ios,推荐
egret
支持发布web/ios/android端游戏,同时支持微信等小游戏平台,发布的游戏体积小,运行很流畅,只能开发2D游戏
gamemaker2
支持发布web/ios/android/windows/macos/linux程序,体积小运行流畅,
SDL
支持windows/macos/android/ios/linux,但是编写难度较高,如果想在应用内嵌入一些高性能或者3d效果,我看好它
PainterEngine
大佬写的跨平台游戏引擎,用C语言写的,支持html windows linux mac android ios全平台,可以用来代替SDL
https://www.painterengine.com/
CPF
.net core跨平台UI框架库,看起来非常棒,可以用来代替WPF和Win Form开发
http://cpf.cskin.net/
Qt
采用C++开发的跨平台UI框架
SFML
SFML(Simple and Fast Multimedia Library)是一个跨平台的C++多媒体库,它提供了一个简单、易于学习的API,用于开发2D游戏、图形界面、音频和视频应用程序。SFML支持多种操作系统,包括Windows、Linux、macOS和iOS等。它还提供了多种语言的绑定,如Python、Java和.NET等。SFML提供了图形、音频、输入、窗口和系统等模块,可以帮助开发者轻松地创建各种类型的应用程序。
Uno Platform
.NET第三方跨平台框架,采用XAML的形式进行跨平台
https://github.com/nventive/Uno.Playground
Avalonia UI
Avalonia UI是一个基于.NET平台的开源框架,旨在构建跨平台的用户界面。它提供了一个XAML-based的UI编程模型,类似于WPF(Windows Presentation Foundation),可以用于开发Windows、MacOS和Linux上的应用程序。Avalonia UI的特点是跨平台支持,它支持多个操作系统平台,包括Windows、MacOS和Linux。此外,该框架兼容所有支持.NET Standard 2.0的平台,开发者可以使用相同的代码库创建适用于不同操作系统的原生应用程序。Avalonia UI的另一个特点是它的支持的开发环境,包括Visual Studio 2017及更高版本,以及Avalonia Visual Designer。
https://github.com/avaloniaui/avalonia
https://github.com/avaloniaui/avalonia
Gio
neutralinoJS
https://zhuanlan.zhihu.com/p/511609823
GTK+框架
GTK+是另一个流行的图形界面开发框架,它也是跨平台的。GTK+提供了一系列的GUI组件和工具,可以与C、C++、Python等多种编程语言结合使用。