Aunque no lo creas, aun existen algunos desarrolladores que se estremecen con la sola idea de abrir una ventana de terminal. Para aquellos quienes inician puede ser desalentador, estresante, y francamente molesto usar la línea de comando. Pero los desarrolladores que conocen la línea de comandos podrían argumentar que es una de las mejores herramientas a su disposición, o piensas lo contrario? 😉
Entonces, ¿cuan es necesaria la línea de comandos para el desarrollo en estos tiempos? Yo diría que es imprescindible para el éxito de cualquier desarrollo, trabajando ya sea en un proyecto frontend o backend. La línea de los comandos se ha convertido en una navaja suiza de características robustas detrás de comandos simples. Si te tomas el tiempo para aprender estos comandos puede que te sorprenda la cantidad de funciones que hay detrás de una horrible terminal 😛
A continuación encontraras algunas de las ventajas que nos ofrece la linea de comandos, y si estas de acuerdo te agradecería alguna acción social (Tweet, like, g+, etc); en cambio si hace falta o conoces alguna otra ventaja, hazlo saber por medio de un comentario 🙂
Obtener un mayor control sobre las funciones del Sistema Operativo
Tal vez la razón más obvia para conocer la línea de comandos es para su función original: un mayor control. Hay comandos accesibles sólo a través de la terminal que puede controlar algunas operaciones complejas en máquinas Unix/Linux y Windows.
Comandos básicos podrían implicar el cambio de permisos en un determinado archivo o navegar a un directorio que está oculto a la vista. Los ejemplos más complicados podrían implicar la administración del servidor para una configuración de servidor local como Apache o MySQL.
Vale la pena al menos explorar las posibilidades de comandos de una terminal sólo para entender cómo funcionan. Haciendo caso omiso de una pieza de tecnología sólo porque es demasiado confuso rara vez es una buena idea.
Pero mirando más allá de las funciones del sistema, tenemos una gran cantidad de herramientas de desarrollo web que operan a través de la línea de comandos. No todo puede ser descargado e instalado como una aplicación, por lo que la comprensión de comandos de la shell te ahorrará el dolor de cabeza de aprender cómo instalar las últimas nuevas herramientas para desarrolladores.
Línea de comandos para instalar paquetes NPM
Node Package Manager es fácilmente la herramienta más popular para los desarrolladores modernos. Esto se basa en la parte superior de Node.js que se comporta como un framework de JavaScript para otras secuencias de comandos.
Una cosa a tener en cuenta es que NPM no tiene una interfaz gráfica de usuario. No hay manera de hacer clic en un pequeño botón «instalar» como te gustaría encontrar en la App Store de Mac, por ejemplo. Cada paquete se debe instalar manualmente con el comando de NPM en una ventana de terminal.
Esto puede parecer molesto para los usuarios que no están acostumbrados a la terminal, pero en realidad ofrece mucho más control. La biblioteca de NPM contiene más de 200.000 paquetes con más añadidos cada semana. Es más fácil para acoger estos externamente y dejar que el usuario decida qué instalar.
Ten en cuenta que algunas de estas herramientas se pueden instalar por separado a través de sus propios instaladores binarios. Pero NPM centraliza todo lo que puedes usar de todas sus herramientas favoritas con un solo comando: NPM install.
Con NPM tienes acceso instantáneo a una serie de herramientas como:
- Grunt
- Gulp
- Less
- Jade
- CoffeeScript
- Express.js
Otra opción popular es instalar gemas de Ruby junto con los paquetes NPM. Sin embargo, las gemas Ruby no son exactamente parte de un gestor de paquetes, a pesar de que pueden actuar de una manera similar. De cualquier manera, ambas técnicas requieren una comprensión de los comandos de la CLI rudimentarias.
Puede usar el control de versión Git
Los programadores y desarrolladores por igual deben comprender el poder del control de versiones. La capacidad de dividir y fusionar un proyecto en versiones separadas es simplemente incomparable.
Desafortunadamente Git también es difícil de saber si todavía no entiendes cómo funciona. Ahora, agrega la confusión de trabajar dentro de la línea de comandos y está claro por qué Git asusta a tantos desarrolladores.
Afortunadamente hay una gran variedad de recursos gratuitos en línea que pueden ayudarte a entender los conceptos básicos.
La dificultad de Git es memorizar los comandos del control de versiones. Hay aplicaciones de escritorio que ofrecen una interfaz gráfica de usuario, pero todavía esperan que entiendas los fundamentos de control de versiones (la clonación, la ramificación, fusión, etc.).
Para un principiante de la curva de aprendizaje para Git puede ser pronunciada. Con la práctica regular aún podría tomar un par de meses para consolidar los conceptos. Pero Git es una herramienta indispensable para todos los desarrolladores y es una razón más para aprender a usar la línea de comandos.
Desarrollo Backend Local
Desde PHP para Rails y Python requiere algún tipo de interacción con la línea de comandos. Herramientas de instalación como MAMP han hecho las cosas más fáciles, y el uso de la linea de comando no desmejora la potencia 😉
Mientras PHP puede ser instalado usando software como MAMP, Framework como laravel requieren el uso de Composer, el cual es un administrador de dependencias. Este proceso de instalación se lleva a cabo casi en su totalidad a través de la línea de comandos.
El Framework Django requiere un CLI similar para el proceso de instalación, un gestor de paquetes de Python libre. En la consola de comandos tendrás más control sobre la máquina para instalar paquetes, buscar actualizaciones, reiniciar un servidor local, e instalar módulos de características mejoradas.
No importa el lenguaje que estás usando o tratando de aprender, la línea de comandos demostrará ser una herramienta poderosa en su arsenal de desarrollador ninja.