I find it humorous that Sunny5 used DirectX as proof that Macs suck at gaming, while ignoring that the only devices on the market even using DX are Windows computers and the Xbox consoles. You won't find DirectX outside Microsoft's products because it's a Windows-specific API, and the Xbox has been running a modified version of Windows since the Xbox 360 was launched.
On the gaming side, a lot of my Steam library can be played on my M1 Mac with no issues, including multiple AAA titles. There are two main reasons many iOS apps are not being opened up to use on Mac OS: the lack of a touch-based interface on the Mac and the use of certain features specific to iOS devices (accelerometer, gyroscope, compass, aGPS location, etc.) which have no equivalents on Mac hardware.
On the Android emulation in Windows front, those apps run into the exact same problems that many iOS apps would run into when run on a Mac. Granted, a lot of laptops do have touchscreens (which helps on the interface front, but nowhere else in the user experience), but Windows still has to emulate ARM code on x86 hardware, which does not work on systems with hardware virtualization enabled.
Finally, an explanation of the differences between APIs and User Interface (UI) - the APIs are the underlying commands which the UI is running on top of. Developers don't need to optimize the APIs, since those are system-level calls and the M and A-series SOCs all use the same API framework. What does need to be optimized is the UI and any functions which rely on iOS-specific components. The rest of the code can remain entirely unchanged between iOS and MacOS. iOS has been built on the same Darwin core as Mac OS since day one, so there are nowhere near as many differences in the two operating systems as some people are claiming. There are legitimate reasons to keep certain apps either Mac-only or iOS-only, but that does absolutely nothing to discredit the overall notion of cross-platform compatibility.
Odd, I have a whole set of iOS apps that are able to be run on my M1 Mac. Either you have very few apps on your iOS devices, very old apps that developers are no longer supporting, or some weird edge cases that reflect a very small percentage of the Mac userbase. The developers can go in and check a flag if they do not want their iOS app to be available on Mac OS, that has no bearing on whether the app could theoretically work on Apple Silicon-based Macs.I get that but a lot of mobile aren't that useful or trash and all mobile apps that I'm using on both iPhone and iPad aren't supported on macOS.
On the gaming side, a lot of my Steam library can be played on my M1 Mac with no issues, including multiple AAA titles. There are two main reasons many iOS apps are not being opened up to use on Mac OS: the lack of a touch-based interface on the Mac and the use of certain features specific to iOS devices (accelerometer, gyroscope, compass, aGPS location, etc.) which have no equivalents on Mac hardware.
On the Android emulation in Windows front, those apps run into the exact same problems that many iOS apps would run into when run on a Mac. Granted, a lot of laptops do have touchscreens (which helps on the interface front, but nowhere else in the user experience), but Windows still has to emulate ARM code on x86 hardware, which does not work on systems with hardware virtualization enabled.
Finally, an explanation of the differences between APIs and User Interface (UI) - the APIs are the underlying commands which the UI is running on top of. Developers don't need to optimize the APIs, since those are system-level calls and the M and A-series SOCs all use the same API framework. What does need to be optimized is the UI and any functions which rely on iOS-specific components. The rest of the code can remain entirely unchanged between iOS and MacOS. iOS has been built on the same Darwin core as Mac OS since day one, so there are nowhere near as many differences in the two operating systems as some people are claiming. There are legitimate reasons to keep certain apps either Mac-only or iOS-only, but that does absolutely nothing to discredit the overall notion of cross-platform compatibility.