¿Hay alguna buena razón para usar Linux para el desarrollo web, en lugar de Windows?

Siempre hay una buena razón. ¿Pero es la razón suficiente para ti? Utilizo Windows, Linux y MacOS y he intentado evaluar cuál es la mejor plataforma para el desarrollo web.

Aquí están mis hallazgos:

Muchos usan Windows porque es el sistema operativo predeterminado en las computadoras personales. Con los años, el sistema operativo ha visto muchos cambios y se ha vuelto muy fácil de usar y excelente para los desarrolladores.

Windows está hecho para las masas.

Cuando trabajo en Web Dev en mi computadora con Windows, uso estas herramientas.

  • Atom Text Editor Un editor de texto pirateable para el siglo XXI
  • MAMP y MAMP PRO para mi servidor web local
  • Git para control de versiones.
  • Grunt The JavaScript Task Runner
  • Oracle VM VirtualBox es lo que uso cuando pruebo algunas distribuciones de Linux.
  • También me enseñé el símbolo del sistema y Powershell

No he tenido ningún problema haciendo desarrollo web en Windows.

Se considera que Linux es la plataforma de desarrolladores porque le brinda una increíble cantidad de control sobre su sistema operativo. Es de código abierto y está hecho para que te ensucies las manos configurándolo de la manera que consideres adecuada para tu caso de uso.

Linux está hecho para unos pocos técnicos.

Cuando trabajo en Web Dev en mi computadora Linux, uso estas herramientas. Tenga en cuenta que uso más de una distribución por varias razones.

  • Proyecto CentOS La mayoría de los servidores web utilizan esta distribución, lo que lo hace ideal para crear un entorno exacto que sea idéntico a mi entorno de producción.
  • Servidor Ubuntu: para escalar las cargas de trabajo también es muy popular y usarlo me ayuda a estar al tanto de lo que se está utilizando.
  • Pruebas de penetración y piratería ética Distribución de Linux Lo uso para ejecutar pruebas de penetración en mis sitios web y servidores.
  • LAMP (paquete de software): Wikipedia es el servidor web que uso en las plataformas Linux. Configuro todo a través de la línea de comando / terminal.
  • bienvenido a casa: vim online es el editor de texto de línea de comando.
  • GNU Emacs – GNU Project es un potente editor de texto.
  • Atom Text Editor Un editor de texto pirateable para el siglo XXI
  • Git para control de versiones.
  • Grunt The JavaScript Task Runner
  • Con Linux, es mejor aprender la línea de comando / terminal

La ventaja que tiene Linux es el hecho de que es lo que se usa para la mayoría de los servidores web. Entonces, si está interesado en tomar un mayor control en la configuración de su servidor para fines de seguridad, rendimiento y optimización, entonces Linux es una gran opción.

MacOS es similar a Linux y la mayoría de los comandos de terminal que usa para Linux también se pueden usar para MacOS. Las Macs vienen con una etiqueta de precio premium y aunque tengo algunas Macs más antiguas, Macbook air y Macbook Pro 15 en 2011 que destripé y puse en un SSD y 16 gbs de ram y reemplacé la placa lógica, no veo la necesidad de comprar La versión actual. Creo que la mayoría de las herramientas que uso para Windows también puedo usarlas en mi Mac. Estoy esperando que salga una versión de 32 gb del Macbook pro que podría estar a unos años de distancia.

La comida para llevar

Los tres sistemas operativos son excelentes opciones para desarrolladores web. La única ventaja real que tiene Linux es el hecho de que la gran mayoría de los servidores web usan Linux. Yo personalmente uso Linux y Windows a diario y solo uso mi Mac cuando estoy en movimiento.


Si esta respuesta ayudó, consulte más de mis respuestas a preguntas similares y si desea obtener más información sobre quién soy y qué hago, consulte mi sitio web y mi canal de YouTube.

  • Diseño y desarrollo de temas y complementos de WordPress – PixemWeb
  • PixemWeb en youTube

Espero que esto haya ayudado, buena suerte.

Si está implementando en entornos Linux en producción, es mejor que desarrolle en un entorno Linux / Unix. Por supuesto, macOS es un entorno Unix y muchas cosas (pero no todo) que se ejecutan en Linux se ejecutan en macOS de manera muy similar. Existen diferencias, ya que existen incluso entre diferentes distribuciones de Linux, pero para muchas cosas puede escribir su código en macOS e implementarlo en Linux con mucha facilidad.

Si necesita algo que no funciona bien en macOS, debería considerar la creación de máquinas virtuales Linux que replican más estrechamente su entorno de producción para que pueda construir sus versiones de desarrollo en un entorno Linux.

Y sí, puede ejecutar Linux en su máquina de desarrollo, como lo hacen algunos desarrolladores. Si elige seguir esta ruta, le sugiero que compre una computadora portátil con Linux preinstalado. Dell tiene una buena, la XPS Developer Edition, que viene con Ubuntu. Si desea reflejar su entorno de producción, o no le gusta mucho Ubuntu, siempre puede instalar Linux usted mismo.

Una palabra de precaución. He llegado al punto en que no me gusta instalar un nuevo sistema operativo en el metal desnudo de la máquina. Puede pasar una gran cantidad de tiempo simplemente haciendo la instalación, recopilando los controladores que faltan y corrigiendo las configuraciones incorrectas. Este fenómeno de ninguna manera está restringido a Linux: también puede encontrarse con problemas similares al instalar Windows.

Para la mayoría de las máquinas que compra nuevas con un sistema operativo instalado, simplemente mantenga el sistema operativo base tal como está e instale las máquinas virtuales que necesite para sus propósitos de desarrollo. Ayuda si obtiene una máquina con más de 16 GB de RAM, que es relativamente barata en estos días.

Si tiene la intención de instalar Linux en el metal de una máquina, haga su tarea de antemano en la compatibilidad de hardware con Linux. Muchas computadoras portátiles en estos días son bastante fáciles de manejar, pero una vez que ingresa al espacio del escritorio, especialmente con el hardware de caja blanca personalizado, la cantidad de componentes de hardware posibles que pueden causar problemas aumenta.

En mi opinión, depende. Soy usuario de Mac, Windows y Linux y quiero compartir mi opinión al respecto.

Depende del tipo de aplicación web que esté creando y qué IDE o herramientas esté usando o vaya a usar. Si está utilizando .NET para construir sus aplicaciones web, por ejemplo, probablemente Linux no sea una herramienta adecuada. Si es un desarrollador frontend o necesita extraer activos de un PSD, entonces es más probable que necesite Photoshop, que solo se ejecuta en Windows u OS X (hay Gimp en Linux como alternativa, pero no siempre funciona, así que no cuente con eso).

Teniendo en cuenta que la mayoría de los servidores web son servidores Linux, una buena razón para usar Linux sería para que pueda trabajar en un entorno que sea bastante cercano a lo que sería un entorno de producción. Sin embargo, hoy en día nada le impide lograr lo mismo en ningún otro sistema operativo que admita la virtualización y le permite crear fácilmente contenedores con herramientas como Docker. La ligera ventaja de usar Docker en Linux es que la sobrecarga es menor ya que no necesita un hipervisor para ejecutar los contenedores, ya que puede compartir el núcleo del host, pero no espere una ganancia significativa de esto.

Una razón mejor, tal vez es que, Linux tiene un shell potente y flexible para ejecutar comandos de línea y scripts. Puede tener lo mismo en una Mac, pero definitivamente puede obtenerlo en Linux por la mitad del precio (o menos).

Quizás la mejor razón para usar Linux es que es más amigable con el software libre y los paquetes de código abierto. Puede encontrar muchas más opciones disponibles en Linux para desarrollar sobre una pila de código abierto que en cualquier otro sistema operativo. Puede instalarlos fácilmente desde los repositorios conectados al administrador de paquetes.

Ahora, si me preguntas mi preferencia, ya no me importa mucho. Dado que la mayoría de las cosas están en la nube ahora y no queríamos arriesgarnos a perder nuestro trabajo porque la computadora se bloquea o tiene problemas debido a la incompatibilidad del sistema operativo, trasladamos todo el desarrollo a la nube. Ningún sitio, a menos que la prueba o la experimentación esté en una máquina local, de esa manera, no importa si trabaja en Linux, Windows o Mac, siempre que tengamos un terminal / cli y un IDE que pueda conectarse de forma remota. Usa cualquier máquina. De esa manera, podemos usar terminales livianos que un desarrollador puede cambiar instantáneamente para conectarse a un entorno estandarizado para el desarrollo web. A partir del año pasado, ni siquiera necesitamos tener un IDE instalado, ya que usamos codeanywhere para modificar el código. Solo necesitamos un navegador. Entonces, ya no importa lo que usemos para el desarrollo web, pero una cosa es segura es que en el fondo todos usamos Linux en los contenedores de la nube.

¿Está preguntando sobre la computadora local en la que trabajará o el servidor web?

Servidores web

La mayoría de los servidores web ejecutan Linux y esto funciona bien para muchas personas. Pero si estaba construyendo sitios usando algo como ASP.NET, le gustaría usar un Servidor de Información de Internet de Microsoft – Wikipedia.

Computadora local

Los buenos editores de código están disponibles para Linux, Mac y Windows. En términos generales, te sugiero que uses el sistema operativo que prefieras. Yo uso una Mac. Soy voluntario cada año en Cleveland Give Camp, un evento en el que creamos sitios y aplicaciones para organizaciones sin fines de lucro. En realidad, nunca he contado quién usa qué, pero he notado que cada uno de los tres está en uso.

Si está haciendo más trabajo de back-end o ejecutando un servidor local en su computadora para el desarrollo, entonces consideraría qué programas necesitará usar para sus proyectos y veré si eso afecta su elección.

Puede ejecutar lo que esté desarrollando de forma nativa en Linux, aunque puede hacerlo igual de bien en una VM. Esto supone que está implementando en Linux. En general, depende de lo que te sientas cómodo. Si está implementando en Linux, no está de más usarlo en el escritorio siempre que use la línea de comando en lugar de la GUI.

La única ventaja real es que Linux se puede hacer más seguro que Windows. No porque sea naturalmente más seguro sino porque es un objetivo poco interesante. Sin embargo, si está realmente preocupado por la seguridad, debe ejecutar algo como Qubes.

No lo creo. La única razón convincente en la que puedo pensar. Si quieres tener muchas máquinas virtuales en una máquina pequeña, entonces quizás Linux sea lo tuyo. Pero en mi opinión, Windows tiene un soporte realmente bueno incluso para herramientas que no pertenecen a Microsoft. Es más fácil hacer cosas. Cambiar el permiso del sistema de archivos te lleva a escribir el comando en Linux, mientras que en Windows se hace a través de la interfaz gráfica de usuario

Hay muchas buenas razones:

  1. simula el entorno de producción
  2. Las herramientas a menudo salen en Linux antes que Windows
  3. es menos restrictivo que las ventanas