Oscarafone77,
DotSpatial's non-UI assemblies (DotSpatial.Data, DotSpatial.Projections, etc.) work fine with Mono on both OS X and Linux. For a user interface, your only choice currently would be a Web app, where you use the non-UI assemblies on a server coupled with the DotSpatial.WebControls to serve up JavaScript to the user's browser (on any desktop computer).
Take a look at the code in DotSpatial.Examples.DemoWEB and DotSpatial.WebControls (be sure to get source from trunk - 1.6 is out of date).
I've used the free version of Xamarin Studio (MonoDevelop) on a Mac to create ASP.NET apps that use DotSpatial.WebControls. Just create a new C# ASP.NET app using the Xamarin Studio template and add in references to the DotSpatial non-UI assemblies as needed. The resulting app can be deployed on Windows, Linux or even an OS X server (note Linux and OS X servers would also need Mono installed).
This type of Web app is not ideal for mobile devices, though. For example, swiping the screen scrolls the browser page rather than panning the map. Basically functional on a mobile device, just not ideal.
I don't know if a large set of high-level libraries like DotSpatial make sense on mobile devices due to limited memory and processing power, even assuming you can work out how to compile them to native code (iOS will never have Mono and I don't believe Android has it either). One issue with the DotSpatial LGPL license would prevent it from being used on iOS anyway: On iOS, user libraries need to be statically linked into the executable. This is in conflict with LGPL.
A better approach for mobile might be to write an app that can display and work with map data that is generated on a server. For example, both iOS and OS X include Apple's MapKit framework, which provides high-level classes for doing mapping. See this reference:
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/MapKit/MapKit.html
New developments in iOS and OS X now make MapKit easier to work with. (Hint: Join an Apple developer program and download the Xcode 6 beta with support for Apple's brand-new programming language, Swift: https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/index.html).
I believe Google has similar mapping libraries for Android, but I haven't worked with them.
If all you need is a ready-to-use GIS for a mobile device, there are several available. I've worked with iGIS on iOS devices. It provides a way of importing and viewing shapefiles on a Google map background, with display of GPS position, etc. (https://itunes.apple.com/us/app/igis-for-ipad/id386107163?mt=8)
Let me know if this brief overview doesn't answer your questions. I would guess that adapting DotSpatial.Controls for non-WinForms would be an enormous undertaking that probably wouldn't be worth the effort just to add support for OS X and a handful of Linux desktop users. However, if the effort is directed more broadly as a way to move beyond the obsolete WinForms to something more modern, that might make sense if somebody has the time and energy to dedicate to it.
Thanks
-Phil
DotSpatial's non-UI assemblies (DotSpatial.Data, DotSpatial.Projections, etc.) work fine with Mono on both OS X and Linux. For a user interface, your only choice currently would be a Web app, where you use the non-UI assemblies on a server coupled with the DotSpatial.WebControls to serve up JavaScript to the user's browser (on any desktop computer).
Take a look at the code in DotSpatial.Examples.DemoWEB and DotSpatial.WebControls (be sure to get source from trunk - 1.6 is out of date).
I've used the free version of Xamarin Studio (MonoDevelop) on a Mac to create ASP.NET apps that use DotSpatial.WebControls. Just create a new C# ASP.NET app using the Xamarin Studio template and add in references to the DotSpatial non-UI assemblies as needed. The resulting app can be deployed on Windows, Linux or even an OS X server (note Linux and OS X servers would also need Mono installed).
This type of Web app is not ideal for mobile devices, though. For example, swiping the screen scrolls the browser page rather than panning the map. Basically functional on a mobile device, just not ideal.
I don't know if a large set of high-level libraries like DotSpatial make sense on mobile devices due to limited memory and processing power, even assuming you can work out how to compile them to native code (iOS will never have Mono and I don't believe Android has it either). One issue with the DotSpatial LGPL license would prevent it from being used on iOS anyway: On iOS, user libraries need to be statically linked into the executable. This is in conflict with LGPL.
A better approach for mobile might be to write an app that can display and work with map data that is generated on a server. For example, both iOS and OS X include Apple's MapKit framework, which provides high-level classes for doing mapping. See this reference:
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/MapKit/MapKit.html
New developments in iOS and OS X now make MapKit easier to work with. (Hint: Join an Apple developer program and download the Xcode 6 beta with support for Apple's brand-new programming language, Swift: https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/index.html).
I believe Google has similar mapping libraries for Android, but I haven't worked with them.
If all you need is a ready-to-use GIS for a mobile device, there are several available. I've worked with iGIS on iOS devices. It provides a way of importing and viewing shapefiles on a Google map background, with display of GPS position, etc. (https://itunes.apple.com/us/app/igis-for-ipad/id386107163?mt=8)
Let me know if this brief overview doesn't answer your questions. I would guess that adapting DotSpatial.Controls for non-WinForms would be an enormous undertaking that probably wouldn't be worth the effort just to add support for OS X and a handful of Linux desktop users. However, if the effort is directed more broadly as a way to move beyond the obsolete WinForms to something more modern, that might make sense if somebody has the time and energy to dedicate to it.
Thanks
-Phil