Desarrollo web [PHP / MySQL]: ¿Linux o Windows?

Todo el tiempo que trabajé en Elgg (una aplicación LAMP), desarrollé en Windows. La única desventaja real que puedo ver es que los permisos del sistema de archivos no funcionan de la misma manera que lo hacen en su servidor, por lo que si se trata de cargas de archivos o activos controlados por el usuario como iconos de usuario, tiene tengo que tener eso en cuenta. De lo contrario, está bien: instala XAMPP y listo.

En estos días, desarrollo en una Mac, pero mi experiencia en la escritura de códigos es casi la misma (incluso uso el mismo IDE). Lo que es un poco diferente es el ecosistema circundante: si te gustan las aplicaciones GUI, ciertamente hay mejores clientes svn / git para Mac, por ejemplo, si estás dispuesto a pagar por ellas. Y si le gusta la línea de comandos, hay un entorno muy parecido a Linux a un clic de distancia, sin necesidad de instalar cygwin o sus primos.

Usar una distribución de Linux como entorno de desarrollo es mejor que usar Windows, creo que porque si usa una distribución de Linux, por ejemplo, Ubuntu Desktop para desarrollo y servidor de Ubuntu para producción, su entorno de desarrollo y entorno de producción casi serán los mismos y esto significa menos errores en producción cuando despliegas algo.

Otra ventaja de usar Linux como entorno de desarrollo para PHP es la administración. Administrar Apache y PHP en Linux es más fácil que Windows.

Si bien cualquier plataforma funcionaría bien y los desarrolladores podrían ser igualmente productivos, usaría la misma plataforma en la que se alojará su aplicación. Inevitablemente, se encontrará con problemas específicos de la plataforma que funcionan en uno pero no en el otro. “Funciona en mi entorno local pero no en producción” es un gran éxito para la productividad. Mantenga el entorno de desarrollo igual (versiones, plataformas, configuraciones) y ahorrará mucho tiempo improductivo en el futuro.