.NET/Mono 安装基础
我和一些朋友正在考虑编写一个新的 FOSS 项目,争论的焦点是使用 .NET 还是其他东西。
所以我想知道 Linux 机器上是否有 Mono 的广告安装库? 并且,Windows 计算机上是否存在已知的 Mono 或 Microsoft .Net 安装基础?
谢谢。
安装基数 - 实际使用的特定类型系统的单位数量的度量。
Me and some friends are 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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Hanselman 提供了 .Net Framework 安装的统计数据。他将其放置在 90% 的 PC 上。 超过 65% 的 PC 拥有 3.5 SP1。 (发布于 2010 年 1 月 19 日)
我不确定这些数字来自哪里,但这是我相当长一段时间以来见过的唯一数字。至于Mono...我不确定。
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.
对于 Linux,我只会查看最流行的发行版。例如,Ubuntu 默认带有 Mono。就在那里,您拥有大量的潜在用户群。
Vista+ 将拥有.Net。
在 Mac OS X 上,GTK# 和 Mono 实际上可以包含在应用程序中。 Banshee 最近 发布了一个执行此操作的版本。
对于 Windows XP,我只是使用 Visual Studio 安装项目创建一个安装程序,并使用先决条件功能来确定依赖项。如果计算机上没有依赖项,安装程序可以为您添加它们。
.RPM 和 .DEB 安装程序格式可以在 Linux 上为您做同样的事情。
总而言之,我想说的是编写应用程序,然后通过编写一个好的安装程序或包来解决依赖关系。
顺便说一句,如果您在 Windows 上没有 Visual Studio 安装程序,Innosetup 可以很好地工作出色地。
N8
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
总体而言,最好的选择是选择 .NET。虽然我们专注于开发应用程序套件,但我们尽可能保持技术的跨平台性(我会使用术语“通用”,但这会令人困惑)。
首先让你的整体设计/架构到位。然后研究您正在考虑的技术。例如,如果您的应用程序要针对 Mono 平台,那么您甚至不应该考虑某些 MS 技术(例如 MEF)。
不要让 Linux/Windows/Mono 讨论阻碍您完成任何事情。 ;)
根据 Am 的评论进行编辑:我没有意识到您实际上关心使用 C# 的决定是否是最佳决定。鉴于此,我会补充一点。
Mono 是用 C# 编写的。受欢迎程度是压倒性的。添加 C# 的灵活性和 C++ 的扩展(或多或少),我真的认为您不会出错。正如我上面提到的,您仍然需要注意一些注意事项。
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.
根据 Debian 人气竞赛,mono-runtime 安装在 90447 台参与的 Debian 主机中的 13184 台上(排名#1504)。
这意味着所有 Debian 安装(当然包括许多服务器)的安装基数为 15%。
为了近似桌面安装,我查看了 xserver-xorg 安装(49872 个安装,排名#390)。
假设仅在安装了 X 服务器的情况下才安装 mono,那么桌面群体中的安装基数将达到 26%。
其他:
旁注:由于自动依赖关系解析和安装 apt 和 yum 等工具,a与 Windows 下相比,解释器安装基数较小的问题要小得多,在 Windows 下,手动安装过程要繁琐得多。
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:
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.
所有运行 Vista 的计算机将至少安装 .NET 2,Windows-7 则安装 .NET 3.5.1。
Aaron Stebner 有一个页面,详细介绍了哪个版本的 Windows 已标准安装了哪个版本的 .NET。因此,如果您知道目标受众正在运行的操作系统,您将能够确定他们是否安装了 .NET 以及哪个版本。
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.
让我尝试对 Linux 上的 Mono 渗透率进行有根据的猜测。对于 KDE,几乎没有任何应用程序依赖于 Mono。对于 GNOME 来说可能有所不同。一些流行的应用程序(TomBoy、F-Spot、我自己的 GIMP# 的东西;))需要 Mono。
现在假设所有桌面环境的 50% 是 KDE,另一半是 GNOME。让我们再次假设一半的 GNOME 用户安装了依赖于 Mono 的程序。在这种情况下,大约 25% 的 Linux 用户群安装了 Mono。我个人认为这已经是一个相当高的数字了,但如果给你一个上限。我自己的估计是 10% 左右,但这只是直觉。希望这有帮助。
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.