| > Yet Microsoft did just that.... No, you run the .net code on the .net runtime. If you use UIKit namespace, for example, you will run with the dotnet shim. > Microsoft had the inclination to do just that.... Because Microsoft doesn't have emulator or simulator. Not anything comparable with what Apple has, or what Google has (and what Microsoft is shipping for Android). > So first you said that thier was no way to run on any OS, you couldn’t write your own emulator, etc. but now that I’ve shown you that you can do all that, now it’s that you can’t write against the native frameworks. It is not a first-class solution. > Guess what? You can’t write the same binary against different versions of Linux. Actually, you can. |
And when you run your code on the iOS simulator you are also not running against the same code that’s is running on your phone...
You aren’t running ARM code.
Because Microsoft doesn't have emulator or simulator. Not anything comparable with what Apple has, or what Google has (and what Microsoft is shipping for Android).
When you run on your code on your desktop you run on a simulated environment - the Xamarin runtime on top of Windows. When you run your code on MacOS, you run on x86 version of the iOS runtime. By definition, you are running a simulator.
It is not a first-class solution.
So in your experience using both, what capabilities were you missing?
Actually you can
You haven’t had to ship C binaries to various Linux distributions....
For instance, the official MySQL driver for Python is not pure Python. Even if you are on Linux, you can’t just do a pip install from your box, create a zip file and guarantee it will work. You need to use the package built for whatever version Amazon Linux is based on....
https://stackoverflow.com/questions/35763380/problems-using-...
There are plenty of compatibility issues distributing binary builds for different versions of Linux.
Not a big deal, I use AWS CodeBuild to create my distribution anyway.