2009-12-11 39 views
16

Me doy cuenta de que esto es un poco loco, C# es un lenguaje de Windows y todo, pero quiero empezar a aprender C# principalmente porque estoy interesado en ASP.NET MVC. Trabajo como desarrollador web de día y mi oficina funciona completamente en máquinas * nix. Los desarrolladores y el resto del personal utilizan Mac OS X y nuestros servidores son todos una variación de Linux.Aprendiendo ASP.NET MVC en Mac OS X

Para ser honesto, solo quiero probar algo diferente a PHP, Python o Ruby. El problema es que no quiero renunciar a mi amado Mac OS X. Miré un poco a Mono y parece exactamente lo que estoy buscando. Desafortunadamente, MonoDevelop es muy lento hasta el punto de ser inútil en Mac OS X. (A menos que esté haciendo algo incorrecto, lo cual es completamente plausible).

Así que mi pregunta se reduce a esto: ¿Cuál es la mejor manera de codificar y compilar aplicaciones C# en Mac OS X. (Ejecutar el código no es tan importante, probablemente obtenga un poco de espacio de servidor barato para ejecutar mis aplicaciones ASP.NET MVC en. Realmente no estoy buscando ejecutar ninguna aplicación en Mac OS X.)

+0

¿Qué versión de MonoDevelop está ejecutando? ¿Has probado el último 2.2 RC que se lanzó ayer? –

+0

Descargando ahora. Mientras leía las notas de la versión, parece que pueden haber solucionado el problema de lentitud que estaba experimentando: https://bugzilla.novell.com/show_bug.cgi?id=543956 – macinjosh

Respuesta

21

En mi propia experiencia como C#/Windows/ASP.Net desarrollador de la mayor fortaleza de la plataforma es la integración con las herramientas. Dicho esto, es difícil hacer que todo funcione en mono. Mono sería una excelente plataforma de implementación. Pero si quiere aprenda asp.net MVC su mejor opción es configurar un entorno virtual de Windows y obtener el visual studio de desarrollador web visual gratuito: http://www.microsoft.com/express/vwd/.

La otra razón es que si intenta aprender la plataforma, la mayoría de los recursos utilizará alguna variante de Visual Studio. Me resulta bastante difícil probar y aprender un marco y tener que luchar con las diferencias de plataforma al mismo tiempo.

Digo esto como un ávido usuario de OS X que ha realizado el desarrollo de C# durante varios años y ha realizado varios proyectos pequeños en asp.net mvc.

+1

Ejecuto una máquina virtual con Windows 7 en mi Hackintosh para el desarrollo .NET y encuentro que este es el mejor enfoque. –

+3

@Jon: Si es un hackintosh, ¿por qué no solo arrancas de manera dual? – BFree

+1

Cuando era desarrollador de C#, Windows era mi sistema operativo nativo y todavía desarrollé en una máquina virtual debido a los beneficios de las instantáneas y reversiones de configuración. –

6

¿qué tal si ejecuta una máquina virtual de Windows en su Mac?

ver http://www.parallels.com/eu/products/desktop/

+0

Lo he pensado y es una opción viable, pero personalmente prefiero Mac OS X y esperaba una solución nativa. Ya uso VMWare Fusion para ejecutar Windows XP. Esperaba una solución nativa para Mac OS X. – macinjosh

+4

Si bien puede aprender C# utilizando mono de forma nativa, ASP.NET está realmente mejor desarrollado con Visual Studio. Realmente vas a estar peleando contra el sistema tratando de calzarlo en otra cosa (al igual que tratar de construir aplicaciones para iPhone en Windows; puedes hacerlo, pero qué dolor). –

3

+1 a Min's answer.

Las herramientas que proporciona Microsoft (gratuitas y compradas) son increíbles e integran muy bien. Cuanto más utilizo Visual Studio, más me encanta.

Recomiendo encarecidamente hacer su desarrollador para ASP.NET/C# en Windows (bootcamp o vmware o w/e).

Tener que cambiar entre sistemas operativos cuando desea codificar es un pequeño precio a pagar en comparación con los posibles dolores de cabeza de compatibilidad que podría enfrentar en el futuro.

1

Desarrollar en .net es bastante orientado a IDE. Por supuesto, puedes hacerlo todo en un viejo editor de texto simple, pero se vuelve más y más difícil a menos que solo estés escribiendo código de servidor de fondo. Tal vez haya IDE grandes basados ​​en mono, pero no puedo entender por qué preferiría usar MacOS cuando se gastará todo el tiempo usando el IDE de todos modos.

Vota definitivamente por Windows virtualizado o usando BootCamp.

+1

-1 a "Desarrollar en .net está bastante orientado a IDE" – asyncwait

+0

¿Nunca usó las cajas de herramientas de arrastrar y soltar, la generación automática de código de vinculación de DB, la generación automática de archivos de código subyacente? Hacer eso a mano no es divertido. –

+0

@John Intenté corregir esta respuesta y cambiar "BaseCamp" por "Boot Camp", que es lo que creo que quiso decir. Sin embargo, mi edición fue rechazada, por lo que tal vez podría hacer la corrección, si de hecho quiso decir Boot Camp. –

2

Agregaría al argumento de virtualización. Si tuviera que ir a una instalación de Windows en VMWare Fusion, por ejemplo, puede ejecutarlo en modo coherencia. En este modo, todavía obtienes todas las aplicaciones y el sistema que conoces y amas en OS X, y haces que Visual Studio aparezca como si fuera una aplicación OS X nativa. VS, sin embargo, "ve" el entorno de Windows, por lo que obtienes los beneficios de desarrollar en Windows.

Por supuesto, usted tiene la sobrecarga de tener dos sistemas operativos que compiten por los recursos, pero la mayoría de las veces esto no es un problema (No es para mí, de todos modos, y ejecuto mis propios proyectos en casa de esta manera una humilde MacBook)

+0

+1 a la virtualización, pero puedo usar los escritorios Win/* nix/OSX igualmente bien y la combinación y combinación de comportamientos del sistema en un solo escritorio es complicada. El modo Coherence es cualquier cosa menos coherente para mí (y todavía es un gran error). –

1

Estoy de acuerdo con una máquina de Windows virtual y VS Express, pero Mono Develop no es tan malo cuando se dirige especialmente a ASP.NET MVC.

-1

Puede instalar un escritorio de Linux en su mac (KDE) y usar wine (una aplicación de emulador de Windows de Linux) para instalar Visual studio express. El escritorio de KDE se ejecuta en un mac. Ahora no tiene que instalar un sistema operativo de Windows completo en su máquina.

+1

¿Has probado esto realmente? el vino puede no emular todo. – Andy