Ahead of Time Compilation with Xamarin.Mac
As you might know, .NET applications by default do not compile down to machine code when you build. They compile down to an intermediate layer, called IL, that looks something like this:
The standard .NET build system always does a complication pass when converting your C#/F# code from .cs files to binaries (.dll or .exe). It parses your code, converts it into IL (https://en.wikipedia.org/wiki/Common_Intermediate_Language).
The “normal” .NET execution model then loads these binaries into memory and compiles…