5 ms·
Any one have any statistics on Mono or know companies that use it, always wondered about Mono usage. What are some use cases?
by c4urself 15y ago
Any one have any statistics on Mono or know companies that use it, always wondered about Mono usage. What are some use cases?
- jordan0day 15y agoNot sure on how up-to-date this is: http://www.mono-project.com/Companies_Using_Mono http://www.mono-project.com/Companies_Using_Mono I know one prominent company using Mono is Medtronic, who use it for their iOS app, and have been featured prominently by Apple.
- m_myers 15y agoMy first thought is to run ASP.NET on a Linux server. Also, some Gnome apps are written in C#: http://en.wikipedia.org/wiki/Mono_(software)#Software_developed_with_Mono http://en.wikipedia.org/wiki/Mono_(software)#Software_develo...
- mattmanser 15y agoReally? You gotta be pretty damn tight to deal with that nightmare I imagine. I'd be more inclined to guess it sees more use in shops that are .Net but want to use something like a memcached or redis server and want to write small utilities on that server in a language they know. Pure speculation though.
- julianz 15y agoFogbugz (http://www.fogcreek.com/fogbugz/ http://www.fogcreek.com/fogbugz/) on Linux runs under Mono. We use it. It works well.
- rbanffy 15y ago> to run ASP.NET on a Linux server I can understand using ASP.NET on Windows servers. There aren't that many better alternatives (there are a couple, but not that many and most of them would require some tweaking), but Linux, like any Unix-like, server has a whole lot of exquisitely refined web platforms that are superior to ASP.NET in each and every way. Unless you are already invested in ASP.NET. Linux would be the lesser of the two evils.
- matthew-wegner 15y agoUnity (http://unity3d.com http://unity3d.com) is a 3D game engine that embeds Mono for scripting purposes. Platform-wise, Unity has their own web player, pending NaCL support, pending Flash/Molehill support, shipped standalone Windows/Mac, pending Linux support, iPhone, Android, Wii, PS3, Xbox 360. They use AOT compilation on more restrictive platforms (iPhone, Xbox 360, etc). I couldn't find an official comprehensive list, but this forum post attempts to cover iOS successes. 7 Unity-made games have hit #1 in the app store: http://forum.unity3d.com/threads/65053-iPhone-games-chart-best-games-made-with-Unity http://forum.unity3d.com/threads/65053-iPhone-games-chart-be...
- darklajid 15y agoBanshee, F-Spot & Tomboy are for me the biggest players in the open-source Mono world.
- rodh257 15y agoPinta is another great open source mono app
- icey 15y agoSecond Life uses Mono extensively. I'm not sure if it's in their runtime engine but it is used in their scripting engine.
- clark-kent 15y agoOpenSim - open source virtual world server is also written in Mono.
- dagw 15y agoI know a few game companies use it. Sims 3 is probably the biggest recent game using Mono
- praeclarum 15y agoMy iOS app iCircuit (http://icircuitapp.com http://icircuitapp.com) was written using MonoTouch. It's the #242 grossing productivity app in the store. I know, I know, #242 doesn't sound like a lot, but it's a big store. :-) I use Mono for the ease of development (powerful language + nice IDE), the nice runtime (GC and type reflection), and the .NET libraries.
- nimrody 15y agoCan you say a few words on the performance of the mono runtime on iOS (relative to native ObjC apps)? Do you call out to native Objective-c code for compute intensive tasks? Do you find the mono garbage collector limiting in performance? I assume you're using C#, right?
- escoz 15y agoI can talk a little about this, I too have a bunch of apps in the appstore using MonoTouch (like Quicklytics, githubby, and a bunch of other ones for clients). Performance of monotouch is extremely good. For 99% of what you're doing, you do not notice any performance loss at all. I've played around with disabling GC temporarily, but I haven't seen yet a reason to do that in my apps. A few of them use things like huge databases with data, creating thousands and thousands of gc'd objects, and everything works amazingly well. Not everything can be done in MonoTouch, though. For some things you'll never get enough performance unless you go to C. You can't do a lot of things in Obj-C either. Remember, Obj-c is a dynamic language, so every method call is fairly expensive, which is not the case when you're in .NET land.
- praeclarum 15y agoiCircuit is a performance hungry application so it's completely valid to ask about perf. Some points: 1. The majority (99%) of your app is not perf-circital. It's just setting some properties on UIViews and letting CoreAnimation do the rest, or reading data from the DB, or waiting on a network socket. If something is slow, you just throw it on a background thread with a continuation to resync it with the UI thread. 2. Over the years, I have found that micro-optimizations (like: allocating objects on the stack as in C vs allocation on the heap in C#, no dynamic dispatch in C vs lots of virtuals in C#, etc.) are _all_ that C give you and are not enough to make an app like iCircuit fast. What you need instead is the ability to easily change and experiment with algorithms. C# gives me this -- programming in a strongly typed OOP language gives me the safequards I need to do this. The GC is what allows me to do this quickly and without pulling out my hair (caches in C/C++ drive me nuts because I have to be so careful about ownership rules of objects). In a nutshell, I'm willing to trade the small (constant) perf hit in order to have better tools for tackling the hard problems - such as analyzing a 1,000 node circuit. iCircuit contains one tight loop where it has to factor a very large matrix many times a second. That loop runs fine on .NET on desktop machines (don't even break a sweat), but I used a C function for the iOS version since there was about a 2X improvement of speed for this function. Fortunately, .NET makes it stupid easy to call C functions so I have the best of both worlds.