¿Podría Ask Ubuntu ejecutarse en Ubuntu + Mono?

10

Inspirado por la vieja conversación de Hacker News sobre este sitio web, me pregunto:

¿Podrían Ubuntu y Mono ejecutar un sitio web ASP.NET MVC como Ask Ubuntu?

La tecnología es el foco aquí en lugar del sitio. ¿Podría reemplazar IIS, ASP.NET, MVC, etc. con tecnologías gratuitas y de código abierto sin tener que volver a desarrollar completamente el sitio?

Nota de Oli : La meta- discusión (es decir: ¿preguntará Ubuntu migrar a Ubuntu + Mono?) Se ha movido a una pregunta separada en la parte meta del sitio web

Dan Burton
fuente
Para las personas que marcan para el cierre, creo que el aspecto técnico de esto (es decir, "¿podría ejecutar un sitio ASP.NET MVC en Mono?") Tiene mérito aquí, ya que nuestro cometido incluye el desarrollo. Me inclino a dejarlo abierto.
Oli
He votado para cerrar porque creo que pertenecería a Meta ya que se trata del sitio en sí.
Jorge Castro
2
@Jorge, eso es justo. He rescatado el elemento técnico de esto y el "¿migrarán?" La sección puede ir a meta.
Oli
1
Apoyo las modificaciones que Oli ha hecho a mi pregunta. Gracias.
Dan Burton

Respuestas:

8

No tengo la base de código para Ask Ubuntu, por lo que realmente no puedo decir si hay algo particularmente específico de la plataforma que pueda causar un bloqueador, pero en respuesta a si puedes migrarlo , la respuesta es probablemente .

Debe tener en cuenta que la plataforma en la que se encuentran los sitios web de ASP.NET es más que un binario mágico de ASP.NET:

  • ASP.NET puede ser reemplazado en gran medida por Mono. No siempre es bonito y el rendimiento no siempre es excelente, pero se puede hacer.

  • ASP.NET MVC es el motor de plantillas. Normalmente se encuentra en la parte superior de ASP.NET, pero puede ejecutarse en Mono con algunos cambios.

  • IIS podría eliminarse de manera bastante simple, permitiendo controladores personalizados que SO ejecutan en él, reemplazándolo con Apache (et al).

  • La base de datos es técnicamente la mayor parte del conjunto. En casos simples, donde estás usando un buen código, seguro. Extraiga la base de datos y reemplácela. Específicamente por aquí, la disposición del clúster de servidores MSSQL que ejecuta los sitios StackExchange probablemente podría ser portada a MySQL (u otro) pero probablemente necesitaría un trabajo significativo ya que probablemente haya una buena parte de código específico de DB al acecho, ya sea en la base de datos en sí o (menos probable) en el sitio en sí. La mayor parte de la eliminación de datos basada en código y específica de la base de datos es cosa del pasado gracias a LINQ, que Mono admite (también para bases de datos que no son de SQL Server).

De ninguna manera es una lista definitiva de lo que se reemplazaría, pero son los elementos principales.

Si quieres o no ... Esa es una pregunta más difícil. En el momento en que haya buscado algunas docenas de problemas, probablemente ya haya llegado al punto en el que podría haber implementado el sistema en algo como Django. Por supuesto, eso depende de la complejidad del sistema. Es tan duro como un trozo de cuerda.

Oli
fuente
+1 gran información. Supongo que la respuesta a "¿puede portarlo?" Es siempre "sí, con suficiente esfuerzo", pero aquí dio algunos puntos excelentes sobre los detalles de lo que podría ser necesario cambiar.
Dan Burton
1
asp.net mvc fue abierto de Microsoft (sé cuán malvado de ellos) por lo que la versión en mono es el mismo código que la versión .net.
Trampster