It is the dream of every developer to write code once and then deploy it frictionlessly to every available platform (macOS, Windows, Linux, iOS, Android, …). This is of course very hard to do in practise, as each platform does just about everything differently. “Viva la différence!”
As consumers this is a good thing, and gives us options. As developers, it is a huge pain in the neck. Because this is a big problem for devs, a lot of people have had a crack at solving it. Every so often, we stray from the path of native development and are tempted by the sweet promise of “write once, run anywhere!” The problem is if you need to do anything close to the metal or complicated, you usually have to drop down into native code, which kind of defeats the purpose. There are some applications that are categorically not suited to cross-platform solutions. Anything that requires deep system-level integration, minimal latency, or specialized use of hardware features, probably falls into this bucket.