2009-10-02 12 views
10
  • ¿Cuándo se usa mono una buena elección antes que usar .net para desarrollar un sistema de producción?
  • El costo inicial de las herramientas es cero, pero ¿cómo se compara el costo total de desarrollo utilizando mono con .net?
  • ¿Cuál es el punto dulce para adoptar mono.?

Respuesta

5

Mono puede hacer algunas cosas de la MS .Net no pueden o no:

  • corren en Linux, Mac y otros (incluyendo iPhone ahora)
  • enlace estático las DLL marco, para un escenario de implementación de dependencia cero.

Por otro lado, .Net hace algunas cosas que no hace mono o todavía no lo hacen fácilmente:

  • La última versión del marco
  • Fuera de la caja de soporte de Visual Studio
  • WPF, WCF, WF, etc
  • Hay algunas cosas en mono que trabajo, pero el rendimiento no es del todo al mismo nivel que .Net
+0

Hay un buen número de bibliotecas disponibles en Mono que no se envían con .NET. El REPL es un buen ejemplo de esto. También el espacio de nombres Mono.SIMD (que se puede usar en mono para mejorar drásticamente el rendimiento de las operaciones vectoriales) En última instancia, el rendimiento es comparable entre ambas plataformas, solo depende de lo que esté haciendo. – overstood

15

Mono es .NET que se ejecuta en plataformas que no son de Microsoft.

Utilice Mono si está buscando construir una aplicación .NET en una plataforma que no sea de Microsoft. Actualmente, estoy trabajando en una aplicación ASP.NET MVC que se ejecuta en OS X a través de Mono (quiero dirigirme a un servidor basado en Linux y todo mi desarrollo se realiza en OS X). Buen material.

Si se dirige a Windows ÚNICAMENTE, entonces las herramientas gratuitas de Microsoft (Express Editions) suelen ser la mejor opción.

... donde está Miguel cuando lo necesita.

+3

+1 para vincular su cuenta de usuario. Simplemente explore las respuestas de Miguel de Icaza para tener una idea del estado de lo que el mono puede y no puede hacer. –

+0

Tenía la impresión de que Mono todavía estaba en .Net 2.0. ¿Es eso incorrecto? Si no, ¿cómo estás obteniendo ASP.Net MVC? –

+0

Mono ha recorrido un largo camino en los últimos 2 años más o menos. No tiene todo, pero puede consultar la hoja de ruta para ver dónde están en términos de paridad de características: http://www.mono-project.com/Roadmap MVC parece estar al menos parcialmente desde el 29 de junio de este año. . –

3

El costo inicial de las herramientas para una aplicación .NET también es cero. Pago SharpDevelop.

El punto dulce para Mono está desarrollando aplicaciones para Linux usando C# y un familiar framework .NET-esque.

+0

+1 para el comentario ".NET-esque". No es 100% lo mismo que Microsoft .NET Framework, pero está bastante cerca. –

+2

Olvídate de desarrollar nítidamente, echa un vistazo a visual studio express. –

+0

+1 para VS Express! No puedo creer que me borré de ese cuando publiqué esto ... – joshuapoehls

1

Es interesante si necesita desarrollar un software que se ejecute en muchas plataformas (Linux, Mac, Windows) utilizando el ecosistema .net.

Según su sitio web oficial:

Mono es una plataforma de software diseñada para permitir a los desarrolladores crear fácilmente Cross Platform aplicaciones. Es una implementación de código abierto de Microsoft .Net Framework basado en los estándares ECMA para C# y Common Language Runtime. Creemos que adoptando una exitosa plataforma de software estandarizada , podemos reducir las barreras para producir excelentes aplicaciones para Linux.

Su official website tiene mucha información sobre IDE y otra información útil sobre el proyecto.

4

Mono le permite ejecutar aplicaciones .NET en Linux y Mac OS X, mientras que la implementación principal de Microsoft está ligada a Windows.

Así, en el caso de:

"? ¿Qué es mejor para escribir aplicaciones multiplataforma"

La respuesta es Mono, y no creo que sea siquiera una respuesta subjetiva.

Mono es compatible con un sorprendente aliento de .NET hasta 3.5. Prácticamente todo el BCL está dentro, y usted puede hacer ASP.NET MVC, Linq y WinForms. La versión troncal de Mono también admite características de .NET 4.0, por lo que no se quedan atrás.:)

Las cosas notables que están detrás son las diversas tecnologías W *. WPF es básicamente inexistente. WF, es calidad pre-alfa. WCF es de calidad beta y aún está incompleto, pero probablemente sea la tecnología W * más desarrollada.

Cuestiones relacionadas