I've said it countless times, and I'll say it again:
Half of the success of Windows and macOS is the fact that they provide solid and stable APIs and development tools that “make it easy” to develop for those platforms and Linux is very bad at that. The major pieces of Linux are constantly and ever changing requiring large and frequent re-works of apps. There aren’t distribution “sponsored” IDEs (like Visual Studio or Xcode), userland API documentation, frameworks etc.;
Things on the Linux GUI land are so messed up that we even got this. Well, at least with Swift and Adwaita for Swift we may get to something closer to stable, long term APIs and useful documentation...