Al0rid4l
2023-04-23 10:34:33 +08:00
你说的都是 GUI 的开发, GUI 的话, 几乎所有系统想要成熟稳定生态好写起来坑少都可以归为平台自身框架, Qt, Web 三选一. 你说的那些, C++ 要么 Qt, 要么平台自身框架如 WinUI MFC, Go 不清楚估计是 Web, Python 是 pyQt, C# WPF/MAUI 这些算平台自身框架. 剩下少有人走的路自己实现渲染, 那也不符合写起来坑少了.
至于 C# 拿来写移动端的, Flutter/RN 拿来写 Win Linux 的, Java FX 的, 甚至 Tauri, Avalonia 这样的, 都不太能算是成熟稳定生态好, 只能拿来写写个人 /小公司项目.
Win 百花齐放其实也就这几类, C++/C# 是微软平台自身框架自己在推, 多是多, 从 Win32 MFC 到 WPF, WinUI3/MAUI, 但也是一言难尽, 你也不会想学着学着这框架就凉了.
IDE 局限那么几个, 这世界上能叫 IDE 的总共也就几个...
不要求 GUI 的话, 能编译到平台对应 C ABI 兼容的语言都行吧.
要问为什么, 厂商通常都支持 C 但也不想让你用它写 GUI, 不利于推广和生态发展, 用 C 写写底层差不多得了, 没办法, 谁让操作系统都是 C 写的. 厂商只有动力推广自己平台框架绑定的语言, 语言通常也是自己的语言, Win 是 C++/C#, Android Java/Kotlin, 水果 OC/Swift, C++ 吧几个大厂一起定标准的, 厂商也不爱让你用, 这不可控. Win 用 C++ 是没办法, 谁让早年 C++ 开发多生态好其他语言又没出生, 微软也更想让你用 C#. Google 也是, Android 时候也就 Java 开发多生态好简单易学, 后面有了干儿子 Kotlin 如果不是为了兼容怕不是恨不得 Java 死, 水果更不用说, 你根本不会问出这样的问题.
至于其他语言, 都是社区有需求自己去实现对应平台的绑定, 轻松点的绑定到 Web, Tauri 那样. 有点追求的 Avalonia 尽量绑定到原生, 没有的就自己 skia 渲染. 财大气粗的就 Flutter 全部自己 skia 撸. Win 上其他语言的 GUI 也是几十年历史积累下来的, 安卓历史连 Win 一半没到就多出了 Flutter, 可以了.