The context is the cross-platform app creation toolset. It generates extremely poor quality code, usually at a significantly increased development time (quite contrary to the promise). This is the case found by almost everyone who uses it, which is exactly why most teams have an Android project, fully using the tools of the platform, and an iOS project, fully using the tools of the platform. If Xamarin were heavily used, Windows Phone wouldn't be so generally unsupported.
This post links to a different page. It shows three big boxes: One for iOS, watchOS, tvOS and MacOS X. One for Android. And a third one which provides a forms package providing native UI on iOS, Android and Windows. Which just received huge updates AND went open source.
There is a language: C#. There are bindings to native toolkits. There's yet another imperfect Forms package. And there's a slightly wonky IDE. I'm not sure what you're expecting but I think the "lossy abstraction" here is mostly your expectations. I also think you are applying your narrow experience (which obviously was not a great one) and trying to amplify it by using unsubstantiated statements like "most teams" and "few wins."
Xamarin (not Mono) is a solution that seems like all win: Why bother with completely separate solutions on iOS and Android...and maybe even Blackberry and Windows Phone and...
...when there's a magic solution that covers them all. Surely such a solution would completely take over the industry, right?
Crickets.
Extremely few successful solutions are built in Xamarin. Their case studies are limited, and are generally close to trivial apps. And when you point this out, Xamarin advocates tell you not to use most of the cross platform stuff, but instead use platform specific code that is layered on abstractions from the underlying tech, always a step behind and a mile too far.
I'm not amplifying anything: The market demonstrates every statement. Xamarin is something that floundering teams buy hoping it gives them a big heads up, and then some time down the path they just end up starting separate projects for each platform.
You obviously are heavily biased, and strangely confrontational, towards Xamarin. But this open sourcing has been met with a universal yawn.
Xamarin is a company, not a product. Mono is a Microsoft-sponsored project. If you can't be bothered to get that right it makes it even harder to accept you speaking on behalf of the entire industry.
> "this open sourcing has been met with a universal yawn"
It happened 18 hours ago! Do you think the kinds of companies that code in C# even noticed yet?
At this point I have to assume you're trolling. No one is this obtuse.
Xamarin is a company, not a product
Xamarin the company has a primary anchor product that is a tooling and SDK to build cross platform apps (indeed, on Xamarin.com it is literally the only non-service product. There is zero ambiguity). To anyone not autistic, that is clearly the focus on this entire discussion. Your bizarre incantation of Unity using a very old version of Mono as a citation in support of Xamarin set the bar pretty low for this conversation.
It happened 18 hours ago!
Microsoft made it completely free. Yawn.. Microsoft open sources the entire SDK. Yawn.
Clearly you work either for Microsoft, or you hitched your wagon entirely to Xamarin or Microsoft. Your emotions on this are bizarre and completely out of touch with the reality.
> "All products" list four items, one of which is a product
The Products menu has a fifth menu item, All Products. It will show you additional products.
Apparently you are not familiar with the (bumpy!) history of Xamarin's technology. Now that it's open source, you can actually trace lines of code from Xamarin Platform and Xamarin Forms and the Xamarin Profiler back to the early Mono and Unity days. They were a small team that bit off way more than they can chew, delivered more than seems possible even today, and gradually tightened their focus to mobile.
Now they are open source and have Microsoft fully behind them. I wasted a ton of time and money and performance running under Mono on Linux when I should've just used Windows server. But I got it back using Xamarin Platform on two recent large-scale mobile development efforts.
You win some, you lose some, and eventually you develop the maturity not to claim an entire industry had the same exact failures you did to make yourself feel better. Good luck.
You don't seem to understand how Xamarin works at all. The entire point is that you have the ability to share code, but also to drop to platform specific code at any time. The absolute worst case should be that you build totally different UI code for each platform while most of your business logic can sit in shared code. If you do target their cross platform UI framework (Xamarin.Forms) then all or large chunks of of your UI are in shared code, but even then you can write things like platform specific renderers to tweak your controls to the platform.
You just described exactly what I described in various other posts. How you came to the conclusion that I "don't seem to understand" can only possibly be due to some sort of zealot blindness that makes you a defender.
Best case -- terrible abstraction.
Worst case -- you're rewriting much of your code for each platform, working on a 3rd party incomplete abstraction that is always behind and full of unnecessary layered surprises.
What a win!
And for the next bizarre Xamarin sponsor that decides to wallow in and throw up this -- I worked on a large scale solution with Xamarin. We threw it out and just went with separate projects for each platform, sharing code with C++. Works wonders. Way better than Xamarin.
Again, this conversation is about Xamarin the mobile app studio. There is zero ambiguity in this, so it is perplexing that you keep bringing this up.
https://www.xamarin.com/
The context is the cross-platform app creation toolset. It generates extremely poor quality code, usually at a significantly increased development time (quite contrary to the promise). This is the case found by almost everyone who uses it, which is exactly why most teams have an Android project, fully using the tools of the platform, and an iOS project, fully using the tools of the platform. If Xamarin were heavily used, Windows Phone wouldn't be so generally unsupported.