2009-07-03 21 views
8

C# se ve muy bien porque es un lenguaje compilado que parece funcionar bastante bien sin demasiada CPU y no consume demasiada memoria. Y StackOverflow y ServerFault son buenos ejemplos de una pila MVC/.Net/C# que escala.¿Mono es estable y lo suficientemente rápido?

C# también es interesante porque a pesar de estar compilado, todavía tiene muchas características avanzadas como un lenguaje que solo se encuentra en un lenguaje interpretado más lento.

Mi servidor es solo Linux (Ubuntu 8.04 LTS), me pregunto si la instalación de Mono en lugar del .Net es una buena idea para el uso en producción.

Actualmente no tengo ninguna aplicación existente que use .Net pero estoy interesado en usar marcos existentes (como MS MVC).

+1

Solo para aclarar: Técnicamente, C# no es un lenguaje tradicional "compilado" a código de máquina sino un código "compilado" a byte que se interpreta por el tiempo de ejecución para ejecutar el código máquina. –

+2

Más aclaración: el código de bytes no se interpreta, se compila en código de máquina antes de la ejecución. – skolima

+1

Aún más aclaración: el código C#, incluso si se compila en 2 etapas, al final se compila en código de máquina: P –

Respuesta

7

¿Lo suficientemente estable y rápido para hacer qué?

Tendrá diferentes niveles de estabilidad y rendimiento dependiendo de lo que quieras hacer, estoy seguro. Por ejemplo, una de mis pruebas unitarias de Protocol Buffers (que utiliza Rhino.Mocks) logra hacer que Mono VM aborte con un error de aserción, pero no tengo idea (actualmente) de si eso afectaría a cualquier otra cosa que esté haciendo, o si está relacionado con la forma de proxying que se usa.

Sugiero que lo intentes y lo veas.

3

Tendrá que juzgar por función. En mi cliente actual estamos ejecutando un sistema de entrega y procesamiento de documentos de gran volumen escrito en .NET 3.5. Tenemos un servidor Linux que ejecuta Mono con componentes .NET que se encargan de la entrega de documentos al mundo exterior, p. a través de FTP. Eso funciona bien en producción.

Tuvimos un problema con la implementación Mono del componente .NET FTP, lo que nos obligó a buscar otros componentes .NET de terceros, lo que resolvió el problema. Entonces podrías toparte con cosas como estas. Pero en nuestro caso: una vez que lo pusimos a funcionar, funcionó bien y estable.

+0

cosas buenas, gracias por eso. –

4

ASP.Net MVC es ahora open source. Que ahora esté integrado en MonoDevelop a través de un complemento, sugiere que es probable que las cosas funcionen.

Dado el nuevo estado de esto, debe esperar problemas. Este blog debe ser un starting point razonable para usted.

Recuerde que muchos tutoriales ASP.Net MVC suponen que tiene un servidor back-end sql, esto es poco probable que sea factible (dada su pregunta) así que tenlo en cuenta.

1

Creo que Mono es REALMENTE estable y completo.

Trae .NET a * nix World.

En mi empresa estoy liderando un proyecto destinado a construir una máquina automática . Esta máquina está construida por diferentes dispositivos que deben ser gobernados utilizando una interfaz en serie (RS232). La máquina expone una pantalla táctil para la interacción del usuario. Una de mis responsabilidades es proyectar la lógica del sistema más allá de la aplicación GUI.

he eligieron Mono (utilizado para la capa de presentación) también para construir un middleware a medida que se ejecuta la lógica de negocio de la aplicación. Este middleware es una especie de servidor de aplicaciones y se ejecuta en Ubuntu 10.04 LTS.

Por ahora, todo el sistema es un prototipo avanzado, pero también el producto final mantendrá su corazón en la pareja Linux/Mono.

Espero que estas consideraciones puedan serle útiles.

Saludos, Giacomo

0

ya que había leído sobre el proyecto mono espera para MONO 3.0 se va a resolver el problema principal en mono significa fugas de memoria y los recolectores de basura así que antes de 3.0, no podemos decir que tan estable pero es una línea de vida para desarrolladores como nosotros que desean desarrollar s/w independiente de la plataforma con dot net.

Cuestiones relacionadas