开发者

.NET/Mono Install Base

Me and some friends a开发者_Go百科re considering writing a new FOSS project, and the debate is divided between using .NET or something else.

So I am wondering if there is an advertised install base for Mono on Linux machines? and, if there known install base of Mono or the Microsoft .Net on windows machines?

Thanks.


Install Base - A measure of the number of units of a particular type of system actually in use.


Hanselman gives a stat for .Net Framework Installs. He places it over 90% of PCs. with over 65% of PCs having 3.5 SP1. (This was posted on Jan 19, 2010)

I'm not sure where the numbers come from, but it's the only figure I've seen in quite some time. As for Mono...I'm not sure.


For Linux, I would just look at the most popular distributions. For example, Ubuntu comes with Mono by default. Right there you've got a large potential user base.

Vista+ will have .Net.

On Mac OS X, GTK# and Mono can actually be included with the app. Banshee recently released a version that does this.

For Windows XP, I just create an installer using Visual Studio Setup project and use the prerequisites feature to determine the dependencies. If the dependencies aren't on the machine, the installer can put them in for you.

.RPM and .DEB installer formats can do the same thing for you on Linux.

All, in all I'd say write the app and then work around the dependencies by writing a good installer or package.

BTW, if you don't have Visual Studio for the installer on Windows, Innosetup works nicely as well.

N8


Your best overall bet is to go with .NET. While we are focusing on getting the application suite developed, we are keeping technologies as cross-platform as possible (I would use the term generic but that would be confusing).

Get your overall design/architecture in place first. Then study the technologies you are considering. For instance, if your application is going to target a Mono platform, there are MS technologies that you shouldn't even consider (MEF comes to mind).

Don't let a Linux/Windows/Mono discussion keep you from getting anything accomplished. ;)

Edit based on Am's comment: I didn't realize you were actually concerned whether the decision to use C# was the best decision. In light of that, I'll add a bit more.

Mono is written in C#. The popularity is overwhelming. Add C#'s flexibility and an extension (more or less) of C++, I really don't think you can go wrong. There are still considerations as I mentioned above that you need to keep aware of.


According to the Debian Popularity Contest, mono-runtime is installed on 13184 out of 90447 participating Debian hosts (rank #1504).

That would translate to an installed base of 15% on all debian installations (surely including many servers).

For an appoximation of Desktop installations, I looked at the xserver-xorg installations (49872 inst, rank #390).

Assuming that mono is only installed if an X server is installed, that would translate to an installed base of 26% within the desktop population.

Others:

  • bash: 99.9%
  • perl: 99.4%
  • python: 97%
  • php(4,5,cgi,cli): 56% (probably contains some duplicates)
  • tcl8.4: 45%
  • tk8.4: 35%
  • java: 35% (more than 50% of which are the old non-free sun JREs)
  • ruby1.8: 26%
  • ghc6 (haskell): 2%

As a side-note: due to the automatic dependency resolution and installation of tools like apt and yum, a small installed base of the interpreter is much less of a problem than under Windows where the manual installation process is much more tedious.


All computers running Vista will have at least .NET 2 installed, and Windows-7 .NET 3.5.1.

Aaron Stebner has a page detailing which version of Windows has which version of .NET installed as standard. So if you know the OS being run by your target audience you'll be able to work out whether they'll have .NET installed and which version.


Let me try to give you an educated guess of the Mono penetration on Linux. For KDE there are hardly any applications dependent on Mono. For GNOME that might be different. Several popular applications (TomBoy, F-Spot, my own GIMP# stuff ;) ) need Mono.

Now lets suppose that 50 % of all desktop environments are KDE, the other half is GNOME. And lets suppose again that half of the GNOME users install a program that depends on Mono. In that case you get about 25 % of your Linux user base that has Mono installed. Personally I think that is already a pretty high number, but if gives you an upper limit. My own guestimate would be around 10 %, but that is just gut feeling. Hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜