Mac OS X Development with Mono

From The Oxygene Language Wiki
Jump to: navigation, search

This is a Platform topic about Oxygene for .NET
Mono  


Obsolete Topic
This topic should be considered obsolete, as it is more likely that you will want to use Oxygene for Cocoa for building fully native Mac and iOS applications using the Cocoa frameworks, nowadays.


Oxygene provides a variety of tools and technologies to help developers build applications for the Mac OS X platform that go beyond the basic class library support that is provided by Mono itself.

Tools and Technologies

= Articles

Cross Platform Development Concerns

In general, cleanly written .NET/Mono executables can be compiled with Oxygene on any operating system and against either the .NET or Mono frameworks, and will run fine on all supported platforms. Mono does a good job of abstracting away the platform differences in the common APIs provided by the framework.

However, some care has to be taken to not introduce platform specific dependencies. This includes:

  • Hardcoded assumptions about the path separator ("/" on Linux and Mac OS X vs. "\" on Windows). Try to use the functions provided by System.IO.Path to work with paths, rather than using "/" and "\" literals
  • Native imports (P/Invoke) and DllImportAttribute attributes linking in Windows-Only (or Unix-only) APIs
  • Use of the Microsoft.Win32.Registry namespace
  • Use of Windows only APIs, like WPF
  • Use of standard shell folders such as %APPDATA% (which Mono simulates in ~/.config) vs. use of appropriate system folders on Mac OS X and Linux.


See Also


Personal tools
Namespaces

Variants
Actions
Navigation
Getting Started
Sections
If you know
More
Toolbox