to native code at run-time • side-by-side with the ObjC runtime • Mono runtime embedded into bundle • Allows the execution of dynamically generated code (in contrast to X.iOS) https://developer.xamarin.com/guides/mac/advanced_topics/mac-architecture/
a lot of glue-code • NSObject could raise an alert such as INotifyPropertyChanged in XAML platforms • Only supported with Mac https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CocoaBindings/Concepts/WhatAreBindings.html
'Is the order a rabbit?’ originally created with Windows.Forms ported to Cocoa with Xamarin.Mac published to MacAppStore • www.github.com/ksasao/Gochiusearch
used by X.iOS • Supporting a subset of the full Desktop framework • Linker behavior makes bundle size smaller • Could reference assemblies targeting netstandard>=1.0 or Xamarin.Mac20
App Store • Modify App Sandbox Resources by editing Entitlements.plist • Sandbox Violation does not throw NotAuthorizedException • Type of exception depends on operation • To determine whether violation occurred or not, use Console app
device needed • Cherry pick the best bits of .NET Framework and Cocoa • Consider whether sharing more code or writing convenient and/or efficient platform dependent code