Where is the difference between Xamarin.Mac and Mono:OSX

11,701

Solution 1

I am not from Xamarin, so below is only my own understanding,

  1. Xamarin.Mac is based on Mono:OSX. It is not something that comes from middle of nowhere.
  2. Xamarin.Mac provides streamlined experience of developing Mac applications, by integrating MonoDevelop, Mono core runtime, MonoMac, and probably some non-open-source addins/utilities. It is easier to use Xamarin.Mac than assembling the whole tool chain on your own.
  3. Xamarin.Mac comes with support contracts. This can attract professional Mac developers, and enterprises, as they need support contracts to ensure their own products' supportability.

Anyway we can sign up the seminar and learn what it is,

http://resources.xamarin.com/intro-to-xamarin.mac.html

BTW, the statement "Xamarin bought Mono" is not that accurate. The proper terms can be found in this blog post by Miguel de Icaza,

http://tirania.org/blog/archive/2011/Jul-18.html

Solution 2

The following is an excerpt from an article at xamarin.com (http://docs.xamarin.com/mac/guides Jan 1, 2013) which answers your question.

What are the differences between MonoMac and Xamarin.Mac?

Xamarin.Mac is built on the open source MonoMac project. Xamarin.Mac is being developed by the maintainers of MonoMac, though contributions are continuing to flow to MonoMac as well.

Xamarin.Mac has these additional features:

  • A commercial license to the Mono Runtime
  • Bindings to new frameworks
  • Creates self-contained application bundles, without external dependencies on Mono.

These are described in detail in the following sections.

Bindings to New Frameworks

The following are new frameworks and APIs that are included in Xamarin.Mac:

  • CoreBluetooth
  • GameKit
  • New MountainLion AppKit APIs
  • SceneKit
  • StoreKit
  • Commercial License to the Mono Runtime

Xamarin.Mac also comes with commercial support from the Xamarin team, and the Xamarin.Mac product has a published roadmap of forthcoming features.

The Mono runtime license is a commercial license that allows developers to redistribute their Mono-based applications without being bound by the terms of the GNU LGPL v2. This allows you to publish both to the Apple App Store as well as distributing applications that embed the Mono runtime without having to provide source code or object files for end users to relink.

Creating Self-contained Application Bundles

Xamarin.Mac extends MonoMac by allowing developers to ship an application bundle that includes both their software as well as the required pieces of the Mono runtime, without requiring your users to fetch the Mono runtime on their own and install it separately on their systems.

This feature is used for AppStore deployments as well.

Share:
11,701
netblognet
Author by

netblognet

I speak different languages, but like C#, Javascript and PHP best. I'm working as a SAP PI consultant and in my free time, I maintain a bunch of websites and blogs.

Updated on June 05, 2022

Comments

  • netblognet
    netblognet almost 2 years

    Where is the difference between Xamarin.Mac and Mono:OSX. I know Xamarin bought Mono so I thought it should be the same. But Mono:OSX seems to be free, while Xamarin.Mac costs at least 399$. So where is the difference between them both?

  • ruffin
    ruffin over 10 years
    I think the operative question is if Mono on OS X can still package App Store apps. For instance, the MonoMacPackager page page now says, "If you want to create self-contained Mac bundles or publish your software to the Mac AppStore, you should get Xamarin.Mac which is a strict superset of MonoMac." Why? Is that now absolutely necessary?
  • Lex Li
    Lex Li over 10 years
    You should post a new question then. But the answer is obvious. The open source edition of Mono is going to be more limited, as most of the features you need will be put under the commercial edition. That is a business strategy we can understand. If you want to keep using the open source edition, you have to fill the gaps on your own.
  • ruffin
    ruffin over 10 years
    But that doesn't answer the question -- Is Xamarin absolutely required to post to the Mac App Store? It wasn't necessary in the past (see above links). I realize Xamarin allows me to create iOS and Android apps; that's specific to Xamarin, not Mono, and it's how I'm using it now. I obviously realize Mono is more limited than Xamarin's full product. But is Mono now, post-Xamarin, more limited than Mono was before? Is that why Xamarin has a Mac (Open Source) project template? It's np if you're not sure; I can post something new.
  • Lex Li
    Lex Li over 10 years
    That's why I asked you to post a new question, and that's also something only Xamarin can answer. Mono is open source, so anything once published won't be closed source. But remember the fact that iOS is evolving, and so is the tool chain. Test MonoMacPackager out and you will see if there is any issue. If the open source tool chain could not work for latest iOS releases, and Xamarin were not going to release the new one as open source, you would have to stick to the paid products.