Hay algo romántico y emocionante en abrir TextEdit o el Bloc de notas y escribir «<HTML>» para iniciar un nuevo proyecto. Así es como muchos de nosotros empezamos nuestra obsesión por la codificación para la web. En [año], las herramientas de desarrollo web hacen algo más que registrar nuestro texto: nos ayudan a crear proyectos y potencian todo el proceso. Además, hay que tener en cuenta muchos más elementos que el HTML y el CSS.

La fase de planificación, por ejemplo, es vital. Hay que tener en cuenta el wireframing, las opciones de diseño y los flujos de trabajo colaborativos. También hay que elegir el marco de trabajo de JavaScript ideal, si se debe utilizar un entorno de desarrollo integrado (IDE) y mucho más.

En este post, echaremos un vistazo a 61 herramientas de desarrollo web que querrás considerar utilizar en [año]. Pero antes de entrar en materia, vamos a hablar de lo que creemos que es una herramienta de desarrollo web.

Que es lo que consideramos una herramienta de desarrollo web

A primera vista, clasificar una herramienta de desarrollo web parece sencillo. Sin embargo, incluso sumergirse en la parte más superficial presenta algunas consideraciones que desdibujan las líneas.

Por ejemplo, considera si un servicio de transmisión de vídeo cuenta como una herramienta de desarrollo. En una burbuja, probablemente no. Sin embargo, si lo utilizas para grabar tu pantalla para una aplicación de diseño específica, de repente se transforma en una herramienta de colaboración única.

En nuestra opinión, una herramienta de desarrollo web es algo que te ayuda a conseguir los objetivos de tu proyecto de forma enfocada. Aunque esto no incluye los lenguajes de programación individuales, hay subconjuntos, superconjuntos y marcos como TypeScript que se sitúan en la línea. Si quieres ganar mucho dinero, es vital que tengas en cuenta estos aspectos.

Otro ejemplo es Git. Se podría argumentar que este sistema de control de versiones (VCS) cubre mucho terreno. Existe un lenguaje específico para ejecutar comandos, y la funcionalidad principal ofrece mucho en términos de desarrollo web. Sin embargo, también puedes utilizarlo como herramienta de aprendizaje, en concreto, examinando los registros de seguimiento de incidencias y los commits.

En general, una herramienta de desarrollo web puede ser prácticamente cualquier cosa que haga que tu proyecto funcione de forma eficiente y productiva. Notarás esta diversidad en la lista de las herramientas.

Cómo las herramientas de desarrollo web pueden agilizar tu flujo de trabajo

Vamos a dar una advertencia antes de las siguientes palabras: «Crunch time«.

Sí, esta temida frase pide a gritos herramientas de desarrollo web que ahorren tiempo para salvar el día. Las estadísticas muestran que cada vez más proyectos utilizan el crunch como estándar, y muchas industrias de desarrollo lo siguen utilizando hoy en día.

Independientemente de si tu empresa utiliza o necesita el crunch y las horas extras, las herramientas de desarrollo web pueden ayudar. Estas herramientas hacen el trabajo pesado y automatizan el trabajo mundano que se come tu día. Como tal, ofrecen un impulso orgánico a tu productividad.

Sin embargo, también pueden ofrecer una ventaja si operas bajo un marco de proyecto ágil como Scrum. Por ejemplo, considera cómo una herramienta como JSFiddle puede ayudarte a compartir fragmentos con otros equipos durante la cola de un sprint, listos para el siguiente.

Además, aunque las reuniones diarias no van a desaparecer, un servidor de Discord o un canal de Slack podrían ofrecer una mejor manera de centrarse y alinear un conjunto de tareas futuras, lejos de la presión de los objetivos del sprint actual.

En general, las herramientas de desarrollo web tienen tanto que ver con la planificación como con la ejecución.

Cómo elegir la pila de desarrollo adecuada para tu proyecto

Probablemente estemos predicando a los conversos, pero una herramienta de desarrollo web estelar vale su peso en un MacBook de oro rosa con motor M1. Por eso, conseguir la combinación adecuada de herramientas para tu proyecto específico es crucial para construir una base sólida de trabajo.

Si es algo que no has considerado antes, una fase de planificación inicial resultará inestimable. Dedicar algo de tiempo a elegir las herramientas que vas a utilizar retrasa la fase de codificación del proyecto. Sin embargo, este tiempo se recuperará más tarde, ya que habrá menos problemas potenciales relacionados con el software. Además, los resultados serán más homogéneos (ya que todo el mundo estará de acuerdo).

Consideraciones para elegir tu pila de desarrollo

La elección de la pila adecuada para el proyecto se reduce a lo siguiente:

  • Complejidad: Considera la complejidad de tu producto final, ya que esto determinará la complejidad de la pila.
  • Escalabilidad: Si tu proyecto es para una empresa local, necesitarás soluciones diferentes a las de una empresa global. Por ello, necesitarás una pila más escalable para lograr tus objetivos.
  • Seguridad: Casi no hace falta decir que lo que elijas no debe comprometer la seguridad del usuario y del sitio.
  • El coste: Por supuesto, a nadie le gusta gastar de más, y si hay presupuestos ajustados de por medio, esto tendrá más peso que una chequera en blanco.

Existen dos áreas en las que se pueden dividir las tecnologías:

  • Lado del servidor: Aquí, querrás ver las tecnologías de backend que utilizas. Por ejemplo, deberás tener en cuenta la elección del alojamiento y el servidor web, el almacenamiento de valores clave y SQL, los marcos de aplicación y automatización que vayas a utilizar y, por supuesto, el lenguaje de programación.
  • Del lado del cliente: La elección de las herramientas de frontend será posiblemente más sencilla, especialmente en lo que respecta a los lenguajes que se utilizan. Mientras que HTML, CSS y JavaScript serán los protagonistas, la elección del marco de trabajo de JavaScript (y el marco de trabajo de automatización) necesitará alguna consideración.

Cuando se trata de algunas pilas de desarrollo del mundo real, te darás cuenta de que muchos sitios grandes utilizan alguna combinación de JavaScript y React.js, junto con Nginx. También verás Memcached, Redis y Ruby on Rails en las pilas de desarrollo.

62 impresionantes herramientas de desarrollo web para usar en 2024

Sin más preámbulos, veamos la lista de herramientas de desarrollo web que recomendamos utilizar en 2024. Las hemos organizado en categorías, pero por lo demás, las herramientas no están en ningún orden específico. Si tienes prisa, no dudes en saltar a una sección concreta de la lista.

Entornos de desarrollo local

Un entorno de desarrollo local es una parte esencial de cualquier pila de desarrollo. Sin embargo, es particularmente vital para el desarrollo web. Estas son algunas de las herramientas de desarrollo local más destacadas.

1. DevKinsta

La pantalla de inicio de DevKinsta.
La pantalla de inicio de DevKinsta.

Puede que seamos parciales, pero DevKinsta podría convertirse en la herramienta de desarrollo web número uno para [año] y más allá.

Tacha eso: somos parciales y estamos orgullosos de lo que hemos publicado.

Para los no principiantes, DevKinsta es una forma de ayudarte a crear instalaciones locales de WordPress en un instante. Es una suite completa que te permite diseñar, desarrollar y desplegar un sitio de WordPress para máquinas macOS y Windows (con una versión para Linux en preparación).

Puedes adaptar tu instalación a tu proyecto actual. Por ejemplo, tu «servidor» puede usar Nginx o Apache, tu elección de versión de PHP, ejecutar MariaDB o MySQL, y mucho más:

Las opciones de configuración de DevKinsta.
Las opciones de configuración de DevKinsta.

También tenemos más cosas bajo el capó. También puedes depurar y probar el correo electrónico a través del servidor SMTP incorporado, y para la gestión de la base de datos, puedes utilizar la potente herramienta Adminer:

El gestor de bases de datos de DevKinsta, impulsado por Adminer.
El gestor de bases de datos de DevKinsta, impulsado por Adminer.

En general, creemos que DevKinsta es ideal para el desarrollo moderno de WordPress. Puede encajar directamente en tu flujo de trabajo.

Hemos creado esta herramienta pensando en los desarrolladores, diseñadores, autónomos y agencias. Sin embargo, prácticamente cualquier persona con necesidades de desarrollo diarias encontrará valor en DevKinsta – especialmente (pero no exclusivamente) los usuarios de Kinsta.

Además, DevKinsta es totalmente gratuito.

2. MAMP

El logotipo de MAMP.
El logotipo de MAMP.

Se podría pensar que las herramientas clásicas para crear y desplegar páginas web están muertas y enterradas, dada la llegada de herramientas sandbox más rápidas. Sin embargo, las pilas de servicios web tradicionales, como LAMP, MAMP y XAMPP, siguen siendo fuertes.

Normalmente, combinan un sistema operativo (OS) – Linux, macOS o Windows – junto con el servidor web Apache, la base de datos MySQL y los lenguajes de programación Python, PHP y Perl en una pila. Como tal, una pila de servicios web como esta se seguirá utilizando en 2024.

MAMP es la versión específica para macOS de la herramienta. Con este enfoque se instala una pila y se trabaja en el diseño y el despliegue. Aunque el proceso puede ser más largo que el de las configuraciones más modernas, sigue habiendo un nivel similar de flexibilidad bajo el capó, o al menos, el potencial está ahí.

Mientras que en una herramienta como DevKinsta, seleccionarás desde una hábil interfaz gráfica de usuario (GUI), con una pila de servicios web, tienes que instalar las adiciones que necesitas manualmente. Por ejemplo, no hay una forma incorporada de hacer girar un sitio de WordPress sin «hacerlo tú mismo». La situación es similar con el correo electrónico de prueba.

Al igual que otras herramientas de entorno de desarrollo local, MAMP es totalmente gratuito. Sin embargo, también hay una versión premium de MAMP para Windows y Mac que aumenta la funcionalidad y proporciona una herramienta de desarrollo web completa y robusta.

El panel de control de MAMP Pro
El panel de control de MAMP Pro

Debido a su flexibilidad y precio, las pilas de servicios web clásicas siguen estando en muchos ordenadores de desarrolladores. Los aficionados a la línea de comandos gravitarán naturalmente hacia esta solución, especialmente si te gusta usar gestores de paquetes como Homebrew, Flatpak o Ninite.

Por supuesto, los desarrolladores de Apache también utilizarán estas pilas, al igual que los desarrolladores de MySQL y Python o PHP. Por extensión, los desarrolladores de WordPress también se sentirán como en casa aquí.

3. XAMPP

La aplicación XAMPP
La aplicación XAMPP

XAMPP es otra pila de servicios web que recibe mucho amor por parte de los desarrolladores de PHP, incluyendo aquellos que crean productos de WordPress. La «X» del nombre representa la naturaleza multiplataforma de la herramienta. Ofrece instaladores para máquinas Windows, macOS y Linux:

La página de descargas de XAMPP
La página de descargas de XAMPP

Aunque antes había diferencias entre las distintas pilas de servicios web, las constantes actualizaciones y mejoras han igualado el campo. Sin embargo, XAMPP tiene un par de trucos únicos bajo la manga.

Por ejemplo, MySQL ya no es el sistema de gestión de bases de datos relacionales (RDMS) por defecto. En su lugar, XAMPP utiliza MariaDB. Es probablemente una representación más precisa de un servidor de producción, dado el cambio a otras soluciones tras la adquisición de Oracle.

Además, hay un instalador de aplicaciones web dentro del paquete XAMPP. Bitnami es similar a soluciones como Softaculous, pero Bitnami es específico para XAMPP:

La página de inicio de Bitnami.
La página de inicio de Bitnami.

Aunque hay muchas aplicaciones disponibles, es probable que te interese más el instalador de WordPress. Aun así, hay muchos complementos entre los que elegir, lo que convierte a XAMPP en una solución flexible para el desarrollo local.

Editores de texto y código

A la mayoría de los desarrolladores les encanta discutir sobre qué editor de código debe utilizar. Vale, somos hiperbólicos, pero hay un montón de opiniones sobre el tema, con una base de fans fervientes para cada editor.

Sin embargo, si las encuestas son correctas, probablemente estés utilizando Sublime Text, Visual Studio Code (VSCode) o IntelliJ IDEA. Es lógico, ya que estas tres herramientas abarcan desde la simple edición de texto hasta un entorno de desarrollo integrado (IDE) completo. Sin embargo, hay otras que también merecen una mención. Veamos algunas de ellas.

4. Visual Studio Code

Desde su lanzamiento en 2015, el uso de Visual Studio Code se ha disparado en los escritorios de desarrollo de todo tipo.

El editor de código de Visual Studio.
El editor Visual Studio Code.

Es un editor de código abierto desarrollado por Microsoft que ofrece lo suficiente en la caja para ser considerado un IDE. Sin duda, ofrece suficiente funcionalidad para captar más de la mitad del mercado: el 55% de los desarrolladores web utilizan Visual Studio Code a diario.

En su configuración por defecto, Visual Studio Code es ante todo un editor de texto. Sin embargo, cuando se combina con su biblioteca de extensiones, se vuelve lo suficientemente modular y flexible como para satisfacer cualquiera de tus necesidades de desarrollo:

La biblioteca de extensiones de Visual Studio Code
La biblioteca de extensiones de Visual Studio Code

Significa que puedes instalar linters y fixers para el idioma que elijas (sí, ESLint y PHP CS Fixer están ahí), junto con extensiones de Docker y Vagrant, y mucho más.

Hablando de lenguajes, Visual Studio Code es compatible con JavaScript, Node.js y TypeScript desde el principio. Sin embargo, el ecosistema de extensiones es tan rico que podrás encontrar algo de soporte el lenguaje que estés usando.

Además, también encontrarás una integración de primer nivel con otros productos de Microsoft, sobre todo con GitHub:

Visual Studio Code tiene una integración VCS dedicada con GitHub.
Visual Studio Code tiene una integración VCS dedicada con GitHub.

Visual Studio es completamente gratuito, y dado el conjunto de características, es ideal para muchos. Consideramos que VSCode es un excelente punto intermedio entre IDEA y Sublime Text. Hablando de eso, veamos este último a continuación.

5. Sublime Text

La aplicación Sublime Text.
La aplicación Sublime Text.

Sublime Text es un pilar dentro del mundo de los editores de texto. Es más reducido que la mayoría de las otras soluciones, aunque su apariencia miente sobre la potencia que hay bajo el capó.

Por ejemplo, verás mucho de lo que ofrece Sublime Text en otros competidores. La paleta de comandos es algo que verás en muchas soluciones porque es fácil de usar.

Paleta de comandos de Sublime Text.
Paleta de comandos de Sublime Text.

Además, hay potentes atajos de teclado para la edición, como hacer selecciones múltiples para editar varias columnas a la vez. Asimismo, la función Goto Anything ofrece combinaciones de atajos de teclado similares a las de Vim para recorrer tus archivos:

Sublime Text puede combinar las pulsaciones de las teclas para ayudarte a navegar.
Sublime Text puede combinar las pulsaciones de las teclas para ayudarte a navegar.

Sublime Text es una herramienta premium con un periodo de prueba muy liberal. Se puede considerar gratuita, pero para retribuir al desarrollador, deberías comprar una licencia para un uso extendido.

En nuestra opinión, para muchos programadores pequeños o aficionados, Sublime Text ofrece una gran experiencia de usuario (UX), proporcionando lo esencial. Sigue teniendo el favor de muchos desarrolladores por sus agradables efectos visuales, su diseño sencillo y su capacidad de ampliación.

6. Atom

En un momento dado, Atom fue muy utilizado por los desarrolladores. Sin embargo, desde la llegada de Visual Studio Code, su adopción ha disminuido. Es una pena porque es un gran editor de código que es adecuado para muchas aplicaciones diferentes.

La aplicación Atom.
La aplicación Atom.

Es una aplicación desarrollada por GitHub, lo que puede explicar por qué ha sido empujada hacia abajo en la jerarquía de Microsoft. Sin embargo, se actualiza regularmente y puede considerarse una versión alternativa de Visual Studio Code.

La edición de texto es funcional y, al igual que su hermano mayor, tiene integración con GitHub. También hay muchos complementos llamados «paquetes»:

El instalador de paquetes de Atom.
El instalador de paquetes de Atom.

Hay muchos temas disponibles para ayudar a adaptar Atom a tu flujo de trabajo y a tus proyectos. Atom incluye varios temas entre los que elegir, y algunos, como One Dark, son tan populares que se han colado también en otros editores:

El tema One Dark de Atom.
El tema One Dark de Atom.

Atom es un editor de código funcional que merece ser probado. Sin embargo, como Atom está construido sobre Electron (sin juego de palabras), algunos usuarios se han quejado de que los archivos grandes y los proyectos se ejecutan lentamente. Como tal, sugerimos que es bueno para proyectos pequeños y scripts rápidos (especialmente con el paquete de terminal incorporado), pero puede no ser el mejor para el trabajo complejo.

7. Notepad++

La página de inicio de Notepad++.
La página de inicio de Notepad++.

De entrada, vale la pena decir que Notepad++ no puede sustituir a ninguno de los editores de código «grandes» que ya utilizas, como IntelliJ IDEA o Visual Studio Code. Sin embargo, te dará más poder bajo el capó para scripts simples y aplicaciones de edición de texto en general.

Dependiendo de tus proyectos, podría tentarte a cambiar. A pesar de su sencillez, Notepad++ se utiliza en una gran variedad de proyectos.

Es un editor de código solo para Windows, lo que explica el elemento «plus-plus» de su nombre. Por supuesto, Notepad es un editor de texto sin complicaciones que se encuentra por defecto en las instalaciones de Windows. Notepad++ se parece a su hermano, pero también incluye características específicas de desarrollo como:

  • Ventanas con pestañas y divididas
  • Soporte para casi 80 lenguajes de programación
  • Función de autocompletado
  • Una lista de funciones, que ofrece una excelente manera de ver todas las funciones utilizadas en un archivo de un vistazo

Además, Notepad++ es flexible en lo que respecta a la gestión de proyectos. Admite tres enfoques diferentes: sesiones, espacios de trabajo y proyectos. Una vez que empieces a profundizar en Notepad++, verás que puedes utilizarlo para proyectos más extensos que los scripts de una sola página.

Creemos que Notepad++ se adaptará a los desarrolladores que quieran una gran funcionalidad, que además sea personalizable. En cuanto al uso, tiene ese aire de Vim de código abierto, que se adaptará a ciertos tipos de proyectos más que a otros.

8. El JetBrains Suite

Cuando se trata de IDEs de desarrollo, el conjunto de soluciones de JetBrains va a estar en (o muy cerca de) la parte superior de tu lista. El modelo de negocio es inteligente, ya que aunque hay muchos editores disponibles en JetBrains, todos son en realidad «subconjuntos» de su editor estrella, IntelliJ IDEA.

IntelliJ IDEA es un IDE Java líder
IntelliJ IDEA es un IDE Java líder

IDEA se presenta como un IDE de Java. Soporta prácticamente toda la funcionalidad de otras herramientas IDE de su gama. Y como tal, también soporta muchos lenguajes de programación.

Por ejemplo, PyCharm extrae la mayor parte de la funcionalidad de Python de IDEA y la empaqueta como su propia herramienta. También encontrarás que phpStorm y WebStorm hacen lo mismo.

PyCharm es un IDE específico para Python que es popular en el espacio del lenguaje
PyCharm es un IDE específico para Python que es popular en el espacio del lenguaje

El uso de IDEA es muy sencillo: JetBrains ha hecho un gran trabajo para que puedas codificar en lugar de meterte en configuraciones y ajustes. Puede ser una sorpresa, pero la línea entre el uso de un editor de línea de comandos como Vim y el uso de IDEA es a menudo delgada.

Ambas herramientas se centran en el flujo de trabajo y la eficiencia, aunque IDEA también permite importar los enlaces de teclado de Vim si te sientes cómodo trabajando de esa manera.

Las extensiones de IDEA le permiten utilizar los enlaces de teclado de Vim para que se sienta como un mago.
Las extensiones de IDEA te permiten utilizar los enlaces de teclado de Vim para que te sientas como un mago.

Suponemos que es probable que utilices IntelliJ IDEA si trabajas como parte de un gran proyecto o empresa con un acuerdo de software. Puede ser para compartir proyectos o para trabajar en un entorno consistente. Muchos desarrolladores de WordPress utilizan los productos de JetBrains por su solidez en la gestión de proyectos.

El precio también es un factor, e IntelliJ se basa en un modelo de suscripción que a menudo asciende a tres o cuatro cifras al año.

Pantalla de precios de IntelliJ IDEA
Pantalla de precios de IntelliJ IDEA

Aun así, existen algunas ediciones «comunitarias» de los productos JetBrains. Sin embargo, son versiones recortadas del software principal; esencialmente, son soluciones de código abierto con los elementos propietarios eliminados.

Además, JetBrains ofrece precios competitivos para proyectos de código abierto, startups, centros educativos, Docker Captains y muchos más grupos de nicho.

Herramientas de diseño web y creación de prototipos

Por supuesto, una aplicación web no es nada sin una buena experiencia de usuario (UX). Por ello, la creación de prototipos de diseños y elementos visuales suele requerir una herramienta específica. Las herramientas de diseño van a ser vitales tanto en el lado del servidor como del cliente del desarrollo. He aquí algunas opciones populares.

9. Figma

Figma es una herramienta de desarrollo web muy popular que permite colaborar en el diseño.

El editor de Figma.
El editor de Figma.

Puedes utilizar el editor de arrastrar y soltar para construir interfaces y otros elementos orientados al usuario. Para los desarrolladores, también puedes coger fragmentos de código para implantarlos en tus proyectos. Figma hace que el proceso – desde la ideación hasta la implementación – sea fluido y mantiene las revisiones bajas a lo largo de toda la cadena del proyecto.

También se beneficia de un conjunto homogéneo de herramientas para ayudar a elegir la fuente y el color. Este proceso contrasta con el uso de herramientas independientes como Type Scale:

La página web de Type Scale
La página web de Type Scale

…y un subconjunto de herramientas de desarrollo web como Adobe Color, Coolors, varios selectores de color y mucho más.

El selector de color de Coolors.
El selector de color de Coolors.

Mientras que Figma tiene valor para proyectos de un solo desarrollador, tiene más beneficios para un equipo a medida que aumenta su tamaño. A los equipos les gustarán los aspectos colaborativos de Figma, como el repositorio central de activos y los componentes reutilizables. Los líderes de los equipos también apreciarán las completas opciones de informes para ver cómo los miembros del equipo utilizan los distintos sistemas de diseño.

En cuanto a los precios, Figma cuesta 12 dólares por «editor» en el nivel estándar, que se eleva a 45 dólares por «editor» para los equipos basados en la empresa (por «editor», léase «asiento», es el mismo concepto). Por lo tanto, el precio podría aumentar en función del número de editores que se desee incorporar.

10. Sketch

Sketch es una aplicación exclusiva para macOS que también es muy mencionada entre los desarrolladores:

El logotipo de Sketch.
El logotipo de Sketch.

Es popular porque Sketch incluye muchas funcionalidades bajo el capó, y también es muy fácil de usar, lo que tiene sentido dado que es una aplicación nativa de macOS. Se parece un poco al IDE Xcode de Apple, lo que no es malo, y se siente muy bien al navegar.

Por supuesto, puedes llevar a cabo funciones esenciales como la edición de vectores y el cambio de tamaño de las restricciones. Sin embargo, hay mucho más en la aplicación que te ayudará a generar diseños y exportarlos a otros de forma rápida.

Por ejemplo, la función Smart Layout de Sketch, que utiliza un cambio de tamaño adaptativo para ajustarse a tus dimensiones y al diseño actual. También existen muchas herramientas de colaboración para que todo el mundo pueda sumergirse en un diseño y ayudar a perfeccionarlo.

Una visión general de Sketch for Teams.
Una visión general de Sketch for Teams.

Sketch se diferencia de una herramienta como Figma en que un freelancer o un desarrollador solitario puede subirse a bordo de forma gratuita, y luego comprar una suscripción una vez que exista la necesidad. En este sentido, el precio de Sketch es un pago único de 99 dólares o 9 dólares al mes por usuario.

11. InVision Studio

InVision Studio se vende exclusivamente como una aplicación de «diseño de pantallas». Tiene sentido, y además es más claro de entender. InVision Studio ofrece todas las características y funcionalidades estándar que se pueden esperar, como un editor intuitivo basado en capas y soporte vectorial.

La aplicación InVision Studio.
La aplicación InVision Studio.

Sin embargo, hay mucho más en la caja relacionada con la creación de prototipos y animaciones. Por ejemplo, puedes apuntar, hacer clic y arrastrar para enlazar mesas de trabajo y pantallas. Esta función te permite crear animaciones como parte del proceso de diseño y no como algo que se entrega después.

Animaciones dentro de la aplicación InVision Studio.
Animaciones dentro de la aplicación InVision Studio.

Hablando de traspasos, todo el equipo puede trabajar dentro de InVision Studio gracias a las bibliotecas de componentes compartidas, las opciones de sincronización global, un sólido modo de inspección y mucho más.

La estructura de precios también es competitiva. La versión gratuita de InVision Studio ofrece casi toda la funcionalidad de la versión de pago, con la única restricción del número de documentos que se pueden guardar. El nivel Pro es valioso por la potencia de la app (unos 95 dólares/usuario/año).

12. Affinity Designer

Si eres un usuario de Adobe Illustrator, habrás conocido Affinity Designer en el pasado. El enfoque de Serif para el diseño gráfico parece que va a dar a la solución de Adobe una carrera por su dinero:

La aplicación Affinity Designer.
La aplicación Affinity Designer.

Desde su lanzamiento, se ha ganado una base de usuarios cada vez mayor gracias a su buena relación con la comunidad, sus principios de diseño estelares y su atractivo modelo de precios. Existen versiones para Mac, Windows y iPad, y cada una de ellas puede trabajar con vectores, tramas o ambos a la vez:

El editor de Affinity Designer.
El editor de Affinity Designer.

Las herramientas a las que está acostumbrado de Illustrator están presentes, junto con un conjunto completo de perfiles de color y opciones de exportación:

Las opciones de exportación en Affinity Designer.
Las opciones de exportación en Affinity Designer.

En resumen, las características y la funcionalidad están en su lugar para crear gráficos profesionales para tus proyectos. Además, el precio es muy competitivo. Cuesta alrededor de 50 dólares a precio completo, que es un pago único. No tiene una opción basada en la nube como Illustrator. Aun así, por una tarifa única, obtienes el alcance de Adobe presentado de una manera subjetivamente mejor.

13. CodePen o JSFiddle

Cuando hablamos de IntelliJ IDEA anteriormente, no mencionamos una de sus características menores pero útiles: los archivos Scratch. Te permite escribir y probar rápidamente un fragmento de código sin tener que afectar a tu proyecto de trabajo actual.

Para los usuarios de otros editores de código, una solución como CodePen o JSFiddle es un excelente sustituto. Ambos funcionan de forma similar: hay tres editores de texto para HTML, CSS y JavaScript, y una pantalla de salida para ver el resultado:

La consola de CodePen.
La consola de CodePen.

Puedes nombrar tu «Pen» o «Fiddle» dependiendo de tu plataforma, guardarlo y compartirlo con otros. Es una idea tan sencilla que puede ayudarte a tomar tus ideas a medias sobre un aspecto de un proyecto y realizarlas en cuestión de segundos.

Para los desarrolladores que quieren iluminar un elemento concreto dentro de un archivo y mostrar dónde es posible realizar cambios, un «IDE online» es imprescindible. Además, la colaboración también es posible a través del chat o de un «micrófono en directo»:

La pantalla de colaboración de JSFiddle.
La pantalla de colaboración de JSFiddle.

En general, un IDE en línea podría considerarse una herramienta de desarrollo web «durmiente» en el sentido de que no se menciona con demasiada frecuencia, pero es utilizada por muchos desarrolladores para crear mejor código.

14. Buttons Generator

Buttons Generator es un generador de botones CSS online gratuito que puede utilizarse para crear diferentes estilos de botones CSS con un solo clic. Simplemente desplázate por todos los estilos de botones y encuentra el que más te guste. Haz clic en ese estilo y el CSS se añadirá automáticamente a tu portapapeles.

Buttons generator homepage
Buttons Generator

Puedes utilizar los colores y estilos de los botones tal cual, o simplemente editar el CSS para dar al botón el color y los estilos que quieras. Hay bastantes estilos diferentes para elegir, incluyendo 3D, Gradiente, Con Borde de Sombra, Neumórfico, Retro, Efecto Deslizante, y muchos más.

Pruébalo, es divertido, único y fácil para generar botones CSS.

Git Clients

Tener una forma centralizada de almacenar el código, documentar los cambios y trabajar en él con un equipo sin duplicación es la tarea de un Sistema de Control de Versiones (VCS). Aquí hay algunos clientes que manejan un VCS: git.

Hablemos primero del propio VCS.

15. Git

Git es esencial para un desarrollador moderno y, como tal, es una de las herramientas de desarrollo web más importantes que existen. En pocas palabras, es una forma de documentar los cambios que haces en el código de tu proyecto y almacenarlos en «repositorios»:

Una lista de los commits de GitHub de WordPress.
Una lista de los commits de GitHub de WordPress.

Git fue inventado por el creador de Linux, Linus Torvalds, y utiliza una serie de comandos para añadir cambios en los archivos a un «área de preparación», donde luego los «confirmará» en un repositorio. A partir de ahí, los «empuja» a un repositorio remoto alojado en línea.

Aunque no es el único VCS disponible – el equipo de desarrollo de WordPress sigue utilizando Trac para muchos proyectos – es el más destacado. Un VCS como Git o Trac ayuda a los equipos a trabajar juntos alojando el código en una ubicación central.

Los comandos básicos son funciones de una sola palabra precedidas por git, que suelen utilizarse desde la línea de comandos. Por ejemplo:

git add file.php

Esta expresión agrega file.php a tu área de staging. En otras palabras, registra los cambios como algo que te gustaría almacenar sin dar los últimos retoques. Puedes hacer esto con un archivo o con todo un proyecto si lo deseas.

Para confirmar el archivo, ejecuta git commit. Desde aquí, puedes añadir un comentario para informar a otros sobre tus confirmaciones. Después de esto, tus cambios son almacenados y empujados a la «rama» principal. Por supuesto, eso depende de si estás trabajando en un «repo» remoto.

Si eres nuevo en Git y en los VCSs en general, GitLab tiene una gran guía para principiantes sobre el uso de Git en la línea de comandos. También hablaremos un poco sobre GitLab más adelante.

16. GitHub

Página GitHub de Kinsta
Página GitHub de Kinsta

Para la gran mayoría de los desarrolladores, GitHub es el lugar donde se almacenan los repositorios Git de los proyectos:

Repositorios GitHub de WordPress
Repositorios GitHub de WordPress

Es una solución propiedad de Microsoft que cubre mucho más que el alojamiento de Git. Hay un montón de herramientas de pruebas automatizadas también, y un intento de ofrecer características adicionales de colaboración.

Las funciones de colaboración de GitHub.
Las funciones de colaboración de GitHub.

Para los proyectos de código abierto, plataformas como GitHub son casi la opción de facto. Teniendo en cuenta esto, GitHub como herramienta de desarrollo web no tiene precio para muchos usuarios de código abierto, aprendices y desarrolladores en general. Esto es especialmente cierto cuando se indaga en el rastreador de problemas de GitHub para resolver un problema con los paquetes instalados.

Issue Tracker de GitHub.
Issue Tracker de GitHub.

GitHub no solo sirve para almacenar repos de programas. También sirve para otros proyectos de codificación, como el desarrollo web, e incluso para libros.

En general, GitHub es una herramienta fantástica que ayuda a construir una comunidad saludable a partir de muchas ramas dispares. Sin embargo, no es la única plataforma que existe.

17. GitLab

El logotipo de GitLab
El logotipo de GitLab

Lo hemos mencionado antes, pero GitLab es un competidor de GitHub, con un objetivo similar. Es esencialmente un host para los repos de Git, pero también ofrece algunos otros extras.

Mientras que GitHub se autodenomina «plataforma de desarrollo», GitLab se centra en «DevOps». En su nivel gratuito, GitLab ofrece todas las etapas del ciclo de vida de DevOps, pruebas de seguridad de aplicaciones estáticas, y alrededor de 400 minutos al mes para el Desarrollo Continuo (CD) y la Integración Continua (CI).

GitLab cae en su propio sentido de comunidad, que es la gran diferencia con respecto a GitHub. Es más sobre el despliegue y el ciclo completo de un proyecto. No es algo negativo, pero sí significa que GitLab es una plataforma más «insular», posiblemente no tan adecuada para proyectos de código abierto como GitHub.

Para la mayoría de los equipos, el nivel gratuito de GitLab será suficiente. Por unos 230 dólares al año, por usuario, obtienes acceso a análisis de tu código y productividad, unos 10.000 minutos de CD/CI, y mucho más.

18. Sourcetree

Sourcetree no es un host de repositorios Git, sino una interfaz gráfica de usuario (GUI) para gestionarlos. Es una de las muchas soluciones, como GitKraken, Sublime Merge, GitHub Desktop y muchas más.

La página de inicio de Sourcetree.
La página de inicio de Sourcetree.

Es un producto de Atlassian (¡y nos encanta Atlassian!) que se conecta con otros productos como Bitbucket para ofrecer una representación visual de tu repositorio Git.

Sourcetree se comercializa como un cliente Git fácil – y lo es – pero también es adecuado para los usuarios experimentados. Tiene mucho bajo el capó para soportar a un equipo que trabaja con Git (y Mercurial también).

Por ejemplo, Sourcetree hace cosas sencillas, como resaltar los cambios del último commit, pero también aborda más cosas si lo necesitas. Los jefes de equipo pueden revisar los conjuntos de cambios, trabajar entre ramas cuando lo necesiten y visualizar el código mediante gráficos y pestañas de información:

La vista gráfica de Sourcetree.
La vista gráfica de Sourcetree.

Que un cliente Git sea adecuado para ti depende de tus circunstancias. Si todavía estás aprendiendo, te recomendamos que te quedes con un Terminal mientras entiendes el flujo y el proceso. Para los profesionales o equipos con un amplio uso de Git, un cliente como Sourcetree va a recortar minutos del trabajo que haces cada día.

Herramientas para desarrolladores de navegadores

Sin un navegador web, no hay desarrollo web. Sin embargo, aunque el navegador que elijas sea fundamental para navegar por la web, también puedes utilizarlo para saber cómo funciona.

La mayoría de los navegadores modernos incluyen herramientas de desarrollo específicas para ayudarte a analizar el código del backend, que luego puedes llevar a tu proyecto. He aquí tienes algunas de las más populares.

19. Chrome Developer Tools

Las «DevTools» de Chrome son veneradas en todas las comunidades por su conjunto de características y diagnósticos estelares.

Dado el auge de los navegadores basados en Chromium, muchos tienen el mismo conjunto de DevTools con accesos directos similares. Puedes consultar Microsoft Edge, Brave, el propio Chromium y muchos más clones y trabajar con tus proyectos dentro del navegador.

DevTools del navegador Brave.
DevTools del navegador Brave.

La pestaña Elementos será una visita habitual, ya que aquí es donde verás el código fuente de la página. Y, en nuestra opinión, la pestaña Rendimiento ofrece una visión de la carga de la página que otras DevTools del navegador no pueden igualar:

Ficha de rendimiento de Brave.
Ficha de rendimiento de Brave.

La pestaña de seguridad también ofrece buena información, que será necesaria para supervisar (o investigar) el sitio web de un cliente:

La pestaña de seguridad de Brave.
La pestaña de seguridad de Brave.

Aún mejor, podrás generar informes de Google Lighthouse directamente desde tu navegador basado en Chromium:

Un informe de Google Lighthouse desde las DevTools de Brave.
Un informe de Google Lighthouse desde las DevTools de Brave.

Las DevTools aquí son subjetivamente las mejores, por lo que los usuarios de Chrome y Chromium se apoyarán en ellas. Aunque otros navegadores también tienen DevTools, y también vale la pena considerarlos.

20. Firefox Developer Tools

La página de inicio de Firefox.
La página de inicio de Firefox.

Con una base de usuarios activos mensuales de unos 220 millones, Firefox sigue siendo un navegador popular, a pesar del dominio de Google. En el pasado, los desarrolladores alababan Firebug, y a menudo era líder en la depuración dentro del navegador.

Hoy, tenemos las herramientas para desarrolladores de Firefox:

Las herramientas para desarrolladores de Firefox.
Las herramientas para desarrolladores de Firefox.

Hay un conjunto de funciones básicas para ver el código fuente del sitio (Inspector), un depurador, memoria, almacenamiento y más.

Para los principiantes, la Consola es una puerta de entrada a la codificación en general, ya que se puede ejecutar JavaScript directamente en el navegador, y es una manera fácil de probar fragmentos y encontrar sus pies cuando se empieza:

Un ejemplo de consola de navegación.
Un ejemplo de consola de navegación.

A pesar de esto, pensamos que Firefox (y otros navegadores) tienes menos empaquetado en tus Herramientas para Desarrolladores que los navegadores basados en Chromium. Aun así, para la depuración entre navegadores y la resolución de problemas, a menudo se pone en funcionamiento Firefox. Por ello, es bueno que sean ideales para casi todas las tareas.

Frontend Frameworks

Hablando de frontend, necesitarás algo adecuado para crear sitios web impresionantes. La elección del framework aquí es crucial. Siempre debes seleccionar la mejor herramienta para el trabajo.

Teniendo esto en cuenta, veamos algunas opciones populares.

21. Bootstrap

La capacidad de respuesta móvil es una característica estándar en el diseño web moderno. Es un paso bienvenido, dado que la navegación móvil ha superado a la de los ordenadores de sobremesa. Por lo tanto, es necesario contar con una forma de crear sitios móviles rápidamente.

Bootstrap es una gran herramienta de desarrollo web que se está utilizando mucho:

El logotipo de Bootstrap.
El logotipo de Bootstrap.

Es un conjunto de herramientas que combina plugins de JavaScript, variables de Sass, algunos componentes preconstruidos, un sistema de rejilla responsivo de calidad y mucho más. Incluso hay un mercado de temas oficiales que funcionan con Bootstrap, y muchos sitios web de WordPress también utilizan temas construidos sobre el marco de diseño.

Por supuesto, el uso o no de Bootstrap dependerá de las necesidades de tu proyecto. Sin embargo, es lógico suponer que los proyectos de desarrollo web con presupuestos ajustados y plazos de entrega rápidos recurrirán a una solución «Bootstrapped» y la adaptarán a WordPress. Dado que el framework y WordPress son gratuitos, tu tiempo se convierte en el único factor de coste.

22. Tailwind CSS

Sobre el papel, Tailwind CSS no tiene sentido. Es un framework de frontend para un lenguaje que forma parte de la trinidad central del desarrollo web. Como tal, es lógico pensar que el usuario objetivo ya tendría los conocimientos adecuados sin necesidad de un framework.

En realidad, Tailwind CSS tiene mucho sentido. Es una forma de diseñar el frontend de tu sitio sin dejar el HTML.

Un ejemplo de Tailwind CSS
Un ejemplo de Tailwind CSS

Se utilizan clases de utilidad dentro de varias etiquetas para añadir CSS desde una hoja de estilo principal. Por supuesto, el CSS sigue siendo la principal fuente de estilo. Solo está fuera de tu vista mientras construyes un diseño usando HTML. Por lo tanto, te permite desarrollar la estructura y el estilo al mismo tiempo.

El enfoque nos recuerda al 960 Grid System y funcionaría bien encajando con ese marco. Dicho esto, existe el peligro de empaquetar elementos con tantas clases que podrías acabar liándote. Necesitarás paciencia y disciplina para trabajar con Tailwind CSS, pero si se adapta a tu proyecto, es un framework rápido y robusto.

23. Bulma

Todos los avances que hemos hecho en el diseño de estructuras y diseños de sitios, la creación de columnas flexibles, responsivas y dinámicas es un obstáculo para muchos. Aunque manejar esto no es lo único que puede hacer Bulma, este tipo de aplicaciones son la carne y las patatas del framework:

La página web de Bulma
La página web de Bulma

Al igual que Tailwind CSS, Bulma oculta el CSS y te da clases de utilidad para tu HTML. Está construido con Flexbox, mobile-first, y modular. Es genial si solo necesitas unos pocos componentes. También puedes mezclar y combinar frameworks si lo deseas.

Además, no necesitas ningún JavaScript para poner en marcha Bulma, ya que es solo CSS. Puedes añadir elementos de la interfaz, como botones, con un mínimo de código. Es un framework sencillo y de código abierto que puede adaptarse a las necesidades de tu propio proyecto. En nuestro libro, esa es una característica valiosa que harías bien en aprovechar.

24. Foundation

El equipo de ZURB tiene su propia visión de un framework CSS en Foundation. Se trata de una herramienta semántica y orientada a los dispositivos móviles que tiene dos versiones: para sitios y para correo electrónico:

Página de inicio de la Fundación.
Página de inicio de Foundation.

Foundation está construido con la accesibilidad como prioridad. Cada fragmento en Foundation viene con atributos ARIA dedicados. Sin embargo, antes de llegar a esta etapa, Foundation es impresionante para la creación rápida de prototipos debido a la forma en que se agrega a tu HTML. Puedes crear casi cualquier elemento estructural en tu página, incluso varios tipos de menús y navegación:

Creación de un menú de navegación en Foundation.
Creación de un menú de navegación en Foundation.

ZURB también proporciona una gran cantidad de documentación y tutoriales excelentes para que aprendas los entresijos del framework. Foundation es sencillo de usar, pero sospechamos que puedes adentrarte en la construcción de sitios y salir con diseños y funcionalidades complejas.

También encontrarás un montón de plantillas en el sitio web de la Fundación. Se trata de esquemas básicos que te ayudarán a ponerte en marcha:

Biblioteca de plantillas de la Fundación.
Biblioteca de plantillas de la Foundation.

En general, el framework Foundation hace lo que dice en la lata. Va a ser fundamental para el desarrollo de tu sitio, en lugar de permitirte añadir más funcionalidad. Por ello, es posible que no lo utilices en todos los proyectos. Sin embargo, cuando se emplea, hará el trabajo en todo tipo de sitios.

25. Material-UI

Hablaremos de React con más detalle más adelante, pero por ahora, debes saber que Material-UI se basa en la biblioteca de componentes de este framework de JavaScript. Para los que no saben, Material Design es la «filosofía» de Google sobre cómo diseñar el frontend de un sitio web. Significa muchas fuentes Roboto y bloques de color:

Material-UI busca cumplir con los estándares de diseño de Google.
Material-UI busca cumplir con los estándares de diseño de Google.

Importarás la librería en React y luego utilizarás etiquetas HTML dedicadas para construir tu sitio:

Creación de un botón en Material-UI.
Creación de un botón en Material-UI.

Para personalizar aún más el elemento, se añaden clases a las etiquetas HTML. Todo el bloque de código se envuelve en una función, y renderizará los detalles (y la página por extensión) en React.

También hay muchos temas gratuitos y premium, que cubren muchos casos de uso y precios:

La biblioteca temática de Material-UI.
La biblioteca temática de Material-UI.

Dado que Material-UI tiene un caso de uso específico – crear sitios en torno a Material Design – será un framework al que acudir si este es tu objetivo. En particular, la biblioteca de temas será un recurso valioso para empezar, independientemente de tu presupuesto.

26. HTML5 Boilerplate

La página de inicio de HTML5 Boilerplate.
La página de inicio de HTML5 Boilerplate.

Si eres un desarrollador de WordPress, es posible que hayas conocido Underscores. Es un tema básico de WordPress que te ahorra innumerables horas para crear los elementos funcionales y básicos de tu sitio. HTML5 Boilerplate hace lo mismo a nivel de diseño general.

Como tal, incluye siete archivos que abarcan HTML, CSS y JavaScript. Todos ellos contienen únicamente los archivos y el código más necesarios para representar una página. Más allá de ese punto, el resultado de tu página depende de ti.

HTML5 Boilerplate tiene muchos fans porque es más una utilidad para ahorrar tiempo que un framework completo. Por lo tanto, no hay visuales fuera de la caja para cautivar al «comercio de paso», pero pones HTML5 Boilerplate a tu servicio, puedes ver que acelera tu desarrollo de la manera Underscores hace para los desarrolladores de WordPress.

27. Materialize

Aunque no diríamos que Materialize es un competidor de Material-UI, es otro framework que busca utilizar los principios de Material Design para crear un diseño:

La página de inicio de Materialize.
La página de inicio de Materialize.

Sin embargo, en lugar de utilizar React, Materialize es un framework CSS. Eso hace que Materialize sea más fácil de implementar en el frontend. Al igual que otros frameworks basados en CSS, se utilizan clases dentro del HTML para introducir elementos en el frontend.

Dicho esto, también hay un montón de componentes de JavaScript para elementos como los modales y los desplegables:

Un menú desplegable creado con Materialize.
Un menú desplegable creado con Materialize.

Al igual que muchos de estos frameworks, existen temas premium que te ayudan a crear diseños con un estilo específico. Sin embargo, todos ellos son temas HTML estáticos, lo que puede suponer un problema si quieres implementar JavaScript. En estos casos, es posible que quieras considerar Material-UI en su lugar.

Frameworks para Aplicaciones Web

En pocas palabras, un framework o biblioteca de JavaScript permite trabajar con el llamado código «vainilla» de forma diferente. En este caso, es para crear aplicaciones y sitios web específicos. Existen un montón de «sabores» también – vamos a cubrir algunos.

28. React.js

Un ejemplo de código React sandbox.
Un ejemplo de código React sandbox.

React.js es una popular librería JavaScript diseñada por Facebook que impulsa muchos de los elementos más modernos de WordPress. Tanto el backend de WordPress.com como el Editor de Bloques utilizan React, y lo consideraríamos una forma de usar JavaScript que da prioridad a la interfaz.

El backend de Calypso para WordPress.com está construido sobre React.
El backend de Calypso para WordPress.com está construido con React.

Por ello, los desarrolladores de WordPress deberían, parafraseando a Matt Mullenweg, aprender React.js en profundidad. Sin embargo, no es solo un framework para desarrolladores de WordPress.

En cualquier lugar donde se necesite una interfaz de usuario (UI) moderna y dinámica, React será la primera opción a tener en cuenta. Utiliza una extensión de la sintaxis de JavaScript llamada JSX para crear elementos, que luego se renderizan en el Módulo de Objetos del Documento (DOM):

const name = "Ken Starr';

const element = <h1>Hello, {name}</h1>;

ReactDOM.render
  Element,
  document.getElementById('root')
);

La variable JavaScript dentro del JSX puede ser cualquier expresión válida, lo que permite construir argumentos complejos. Esto hace que React sea una opción fuerte cuando se trata de frameworks. Debido a su popularidad, pensamos que React debería estar en tu lista de «debes aprender», independientemente de dónde pases tu tiempo de desarrollo.

29. Vue.js

Vue.js es otro framework de JavaScript para la construcción de interfaces de usuario. Se basa en la «capa de vista» y es genial para integrarse con otras bibliotecas y frameworks.

El sandbox de Vue.js.
El sandbox de Vue.js.

En el lado HTML, Vue no podría ser más accesible. Le das a tu etiqueta un ID y llamas a una clave de un diccionario establecido en el lado de JavaScript. Los datos son ahora reactivos, y los datos y el DOM están vinculados.

En este sentido, Vue.js se parece mucho a algunos de los frameworks de CSS que hemos visto antes en el artículo. Este marco de trabajo es convincente, y te animamos a mirar la documentación para ver lo que es posible.

Aunque Vue.js admite declaraciones JSX, es más adecuado para utilizar plantillas basadas en las tecnologías web «clásicas». Como tal, va a ser ideal para los desarrolladores que no quieren trabajar solo en JavaScript.

30. Express.js

Estamos entrando en el territorio de los meta-marcos, ya que Express.js se conecta a Node.js y proporciona una base para otros frameworks.

La página de inicio de Express.js.
La página de inicio de Express.js.

Es un framework minimalista (de ahí su nombre), y una de sus principales ventajas es que ayuda a organizar los componentes del lado del servidor en un formato familiar de Modelo-Vista-Controlador (MVC). Como tal, el código parece más complicado que el de otros frameworks, incluso el de vanilla JavaScript:

var express = require('express');

var app = express();

app.get('/', function(req, res){
  res.send("Hello world!");
});

app.listen(3000);

Creemos que Express.js va a ser adecuado para aplicaciones que tiran y empujan mucho de las bases de datos. Eso hace que sea adecuado para muchas aplicaciones web modernas y desarrolladores de backend que quieran trabajar en tareas de frontend con un mínimo de estrés.

31. Svelte.js

Una regla sólida cuando se desarrolla para la web es asegurarse de que los sitios funcionen en tantos navegadores como sea posible. Dicho esto, en algunos casos, es posible que desees crear aplicaciones o sitios web sin soporte para los navegadores heredados. En estos casos, Svelte.js debería estar entre los primeros de la lista.

La página de inicio de Svelte.js.
La página de inicio de Svelte.js.

El framework recibe su nombre por el tamaño de su archivo: apenas 5kb una vez minificado. Tiene un formato similar al de jQuery que resultará fácil para los usuarios que estén familiarizados con él:

$('.hello').text("Hello svelte");

Hay menos de 40 funciones dentro de la API de Svelte, por lo que empezar será sencillo. Además, puedes añadir nuevas funciones con facilidad utilizando $.fn.

Encontrarás «polyfills» para el soporte de Internet Explorer 9, pero esta es casi la única concesión. Para un soporte hipermoderno de navegadores usando un framework súper ligero, Svelte.js podría ser el indicado.

32. Laravel

Hasta ahora, hemos visto los frameworks de JavaScript o CSS. Dada la prevalencia de PHP, tiene sentido abarcar también un framework para este lenguaje. Laravel es la opción ideal aquí, ya que es popular entre muchos desarrolladores por su sintaxis y ecosistema:

La página de inicio de Laravel.
La página de inicio de Laravel.

Es más apropiado decir que Laravel es un ecosistema, ya que incluye muchas herramientas para ayudarte a construir proyectos. Incluso si no usas mucho el propio framework, puedes usar Homestead de Laravel, un entorno de desarrollo local basado en Vagrant.

Laravel en sí es un framework PHP basado en Docker y utiliza una CLI (llamada Sail) para interactuar con él. Al igual que Vagrant, usarás Sail para construir contenedores y ejecutarlos.

Sin embargo, Laravel tiene muchas más posibilidades. Por ejemplo, puedes usarlo como un framework full-stack, un backend de API para aplicaciones Next.js, y casi todo lo demás.

Si eres un desarrollador de PHP, Laravel será una herramienta central (si no familiar) en tu flujo de trabajo.

33. Gatsby

Gatsby es un framework frontend de código abierto que ha acaparado mucha atención últimamente. Esto se debe a que Gatsby es rápido, escalable, con buen rendimiento y seguro.

La página web de Gatsby.
La página web de Gatsby.

Hay un proceso de instalación súper rápido que involucra al Node Package Manager (npm). Tendremos más información sobre esto más adelante. Aunque es un framework de JavaScript, Gatsby genera archivos HTML estáticos en tiempo de ejecución, por lo que no hay manera de atacar un sitio. Es más, Gatsby automatiza el rendimiento para mantener tu sitio funcionando en una configuración óptima.

Entre el rendimiento automatizado, el escalado dinámico y la construcción de HTML estático, Gatsby se siente como un organismo vivo. Hay un complejo «maquillaje» de codificación que involucra JSX, Markdown, CSS, y mucho más basado en tus necesidades. Cada paso de tu flujo de trabajo y pieza de tu pila se puede adaptar a tus requisitos.

A los desarrolladores de WordPress también les gustará cómo se integra Gatsby con la plataforma. Sin embargo, no va a ser adecuado en todos los casos. Por ejemplo, si necesitas gestionar completamente un CMS basado en la nube, esto no es para ti. Aun así, Gatsby puede adaptarse a tu proyecto en la mayoría de los casos, y funciona muy bien con WordPress.

34. Django

A pesar de todo lo que se dice de que Python es un lenguaje de programación «para principiantes» o «para aprender», sirve como columna vertebral de muchos sitios de alto perfil. Algunos de los mayores sitios web -Instagram, Uber, Reddit, Pinterest y otros- utilizan Django. A menudo, no encontrarás ninguna mención a Python en sí, sino solo Django.

Django es un framework que utiliza Python para crear aplicaciones web del lado del servidor. Es tan sencillo de usar como el propio Python, con un formato súper legible.

El formato por defecto de Django.
El formato por defecto de Django.

Python es un gran lenguaje de scripting para proyectos basados en la lógica, por lo que aprovecharlo para una aplicación web es una buena opción. Además, la velocidad de procesamiento de Python es rápida y la estructura de archivos fundamental es ligera. Debido a su velocidad, Django es un excelente framework del lado del servidor en comparación con PHP y tiene tanta fuerza como el lenguaje más popular.

Sin embargo, la aceptación es menor, lo que puede deberse a la reputación de Python como lenguaje para aprendices. A pesar de ello, Django funciona bien con otros lenguajes, como JavaScript, para ser la base de una aplicación web moderna.

Por supuesto, si planeas usar un CMS como WordPress, o estás creando soluciones para proyectos basados en React, tienes menos opciones. Aun así, creemos que [el año] verá un aumento en el número de sitios que se ejecutan en Django.

35. Ruby on Rails

El lenguaje de programación Ruby fue el «favorito» de los lenguajes para principiantes y las alternativas de scripting a PHP hace unos años. A menudo se le compara con Python.

Y al igual que Django, Ruby on Rails también fue el favorito de muchos desarrolladores.

La página del marcador de posición para un nuevo proyecto de Ruby on Rails.
La página del marcador de posición para un nuevo proyecto de Ruby on Rails.

Encontrarás que Ruby se utiliza en muchas aplicaciones web del lado del servidor y bajo el capó. Además, Ruby on Rails se utiliza como framework del lado del servidor en innumerables sitios web. Utiliza un enfoque MVC y ofrece estructuras para el servicio web, las páginas y una base de datos. Por lo tanto, si tienes un sitio barebones esperando por ti, fuera de la caja.

Ruby on Rails se adaptará a tu proyecto si necesitas programar muchos trabajos y trabajar con soluciones de terceros. Por ejemplo, existe una integración nativa con el almacenamiento de archivos, como Google Cloud, y un wrapper para el envío de correos electrónicos.

En general, es una buena opción si quieres un conjunto robusto de valores predeterminados (como la estructura de carpetas) que se puede personalizar si es necesario. Por otro lado, no es una gran elección si te gusta utilizar las APIs durante el desarrollo.

La estructura del código de Ruby on Rails puede volverse compleja y difícil de entender con proyectos grandes. El tiempo de ejecución también puede verse afectado, por lo que puede no ser el mejor framework para proyectos en los que la velocidad es fundamental.

Aun así, Ruby on Rails es uno de los principales frameworks del lado del servidor de la web, y su uso no está disminuyendo para los proyectos adecuados.

36. TypeScript

Un ejemplo de código TypeScript.
Un ejemplo de código TypeScript.

En pocas palabras, TypeScript proporciona una «comprobación de tipos» estática opcional a JavaScript. Es un «superconjunto» del lenguaje, y también es compatible con muchas otras bibliotecas de JavaScript. En general, TypeScript es JavaScript con algunas características adicionales, y puedes compilar ambos lenguajes juntos.

Muchos desarrolladores han recurrido a TypeScript para reducir el número de errores de ejecución que obtienen. Los errores de tipo son uno de los más comunes, y reducirlos podría hacerte ganar mucho tiempo extra.

Para un ejemplo muy simple de TypeScript, considere una cadena:

let helloWorld = «Hello World»;

//  ^ = let helloWorld: string

Aquí, TypeScript utiliza let en lugar del habitual var para la variable helloWorld. A partir de ahí, TypeScript sabe que helloWorld es una cadena y la comprueba en base a ello.

En última instancia, TypeScript no es una herramienta de desarrollo web esencial, aunque se ha vuelto más popular debido a su característica principal. Si acabas ahorrando un tiempo muy necesario, podría convertirse en algo vital para tu flujo de trabajo.

37. GraphQL

He aquí una herramienta única que puede ganarse a los desarrolladores que trabajan con los datos dentro de una API. GraphQL es un lenguaje de consulta utilizado en una API que también actúa como tiempo de ejecución para servir los resultados de la consulta que se realiza.

La página web de GraphQL.
La página web de GraphQL.

Con una API REST estándar, a menudo hay que cargar desde múltiples URLs. Con GraphQL, puedes obtener datos a partir de una sola solicitud. Además, las API de GraphQL están organizadas por tipo en lugar de por puntos finales. Esta clasificación ayuda a la eficiencia de tu consulta y proporciona errores más explícitos cuando algo va mal.

Los tipos también pueden usarse para no sobrescribir el código de análisis manual, dado que GraphQL los implementa. También puedes añadir nuevos campos y tipos a tu API sin que ello afecte al trabajo que has realizado hasta ahora.

La herramienta es flexible y escalable en muchas áreas. Dado que GraphQL crea una API uniforme para tu proyecto, puedes utilizar un motor que coincida con el lenguaje de tu proyecto. Esto hace que sea ideal para una amplia gama de aplicaciones, en lugar de una solución de nicho para un problema generalizado.

Encontrarás que GraphQL se utiliza en sitios como GitHub, Spotify, Facebook y otros. Esto debería darte una idea de cómo se utiliza GraphQL en sitios con muchas consultas de todo tipo. Como tal, es posible que tengas que recurrir a esta solución más de una vez en los próximos 12 meses y más adelante.

Sistemas de Gestión de Paquetes

Los lenguajes de programación, los frameworks y demás tienen muchas partes móviles. Estas dependencias deben descargarse e instalarse de forma correcta para que funcionen. Los sistemas de gestión de paquetes son la solución. Estos te ayudan a descargar e instalar dependencias específicas desde la línea de comandos. Vamos a repasar algunas herramientas con las que te encontrarás.

38. Node Package Manager (npm)

Sí, descargar instaladores tiene su lugar. Sin embargo, utilizar un sistema de gestión de paquetes desde la línea de comandos es muy sencillo en la mayoría de los casos. También proporciona una forma rápida de obtener e instalar archivos desde la web.

El Node Package Manager (npm) es una herramienta de desarrollo web específica para JavaScript, propiedad de Microsoft, que permite instalar paquetes específicos del lenguaje bajo demanda:

La página de inicio de npm.
La página de inicio de npm.

Por ejemplo, la búsqueda de paquetes React arroja más de 155.000 resultados:

Una búsqueda realizada en npm.
Una búsqueda realizada en npm.

Al igual que un IDE en línea, npm es una herramienta de desarrollo web que no recibe mucho «tiempo de aire», principalmente porque es omnipresente. Como tal, prácticamente todos los desarrolladores web van a utilizar esta herramienta.

Sin embargo, es increíble, y ahora que está bajo el ala de GitHub, más desarrolladores utilizarán npm en 2024 que nunca.

39. Yarn

Al igual que npm y pip para Python, Yarn te ayuda a instalar paquetes relacionados con tu proyecto y tus herramientas. La diferencia aquí es que Yarn es también una herramienta de gestión de proyectos.

La página web de Yarn
La página web de Yarn

La instalación es sencilla, y la inicialización de Yarn para un nuevo proyecto también requiere un esfuerzo mínimo. Se ha convertido en una solución robusta de código abierto para instalar paquetes y gestionar tu proyecto al lado.

Utilizarás espacios de trabajo para crear «monorepos», y múltiples versiones de tu proyecto vivirán en el mismo repositorio y podrán tener referencias cruzadas. Puedes instalar plugins para cualquier cosa que Yarn no pueda hacer (para lo que quieras añadir nuevos fetchers y resolvers). Para ser más exactos, podrías instalar plugins, pero no hay demasiados, al menos en las listas oficiales. En su lugar, tendrás que codificar los tuyos propios si estás desesperado por la funcionalidad. Aún así, la opción está ahí para personalizar Yarn a las necesidades de tu proyecto.

Yarn es un caso único para convertirse en tu principal sistema de gestión de paquetes. Para un proyecto del mundo real, es posible que te apoyes más en npm, pero Yarn se colará en tu flujo de trabajo de formas que solo pueden beneficiarte.

API y herramientas de prueba

Asegurarte de que las cosas funcionen es un proceso que a menudo se omite, pero también conlleva lamentaciones cuando las cosas van mal. Por ello, la fase de pruebas de tu proyecto debe ser sólida, robusta y exhaustiva.

Teniendo en cuenta esto, he aquí algunas herramientas de API y de prueba que tendrás a mano para tus proyectos.

40. HoppScotch

Desarrollado por Netlify, HoppScotch es una herramienta de desarrollo de API de código abierto. Los desarrolladores la llaman «ecosistema», lo que desmiente la funcionalidad que hay bajo el capó.

La página principal de HoppScotch.
La página principal de HoppScotch.

Es una solución sólida y sin complicaciones, y no es para los débiles de corazón. La curva de aprendizaje, si nunca has utilizado una herramienta como ésta, es empinada. Casi no hay instrucciones sobre el uso de HoppScotch en ninguna de las páginas de la aplicación, aunque esto no suele ser un problema, ya que la herramienta está pensada para desarrolladores experimentados.

Hay muchas conexiones en tiempo real (WebSocket, SSE, y más), y una implementación de GraphQL. También nos gusta el creador de la documentación:

La pantalla del creador de la documentación de HoppScotch.
La pantalla del creador de la documentación de HoppScotch.

Funciona con tus «colecciones» de HoppScotch para crear documentación sobre la marcha, lo que supone un bienvenido ahorro de tiempo.

En general, HoppScotch es una herramienta funcional que se abrirá mucho en tu navegador. Es una de esas soluciones que siempre usarás sin darte cuenta, ¡no podemos darle más elogios que eso!

41. Postman

El logo del cartero.
El logo del Postman.

Advertencia: estamos a punto de mencionar la temida palabra con «C»: colaboración. Postman es una herramienta de desarrollo web que te ayuda a crear una interfaz de programación de aplicaciones (API) en equipo a través de la plataforma Postman:

El tablero del cartero.
El panel de control de Postman.

Hay muchos casos de uso para integrar Postman en tu flujo de trabajo. Por ejemplo, puedes utilizarlo de forma estándar para el desarrollo de aplicaciones, lo que se traducirá directamente en proyectos basados en la web. Podrías simular puntos finales utilizando servidores simulados, lo que atraerá especialmente a los desarrolladores de WordPress.

Incluso puedes crear un onboarding para ayudar a los usuarios de tus APIs a aprender el funcionamiento. Aquellos proyectos en los que hay mucha rotación de usuarios o un tráfico significativo verán el beneficio aquí.

En cuanto a los precios, Postman ofrece un nivel gratuito, pero obtendrás el mayor valor de uno de los niveles premium. Tendrás que pagar entre 12 y 30 dólares, dependiendo de tu ciclo de facturación y del número de usuarios.

42. Testing Library

Lo ideal es que el código se ejecute, pero el objetivo final es que las aplicaciones funcionen. Testing Library hace lo que su nombre indica: proporciona un conjunto de utilidades para ayudarte a probar tus proyectos y animarte a utilizar buenas prácticas de codificación.

Página de inicio de la Biblioteca de Pruebas.
Página de inicio de Testing Library.

La idea es que crees pruebas que representen el uso de tu aplicación. Si se ejecutan sin problemas, lo más probable es que tu aplicación también lo haga. Es una herramienta agnóstica con respecto framework, y no es un corredor de pruebas. El propósito principal de la Testing Library es ayudarte a escribir pruebas mantenibles desvinculadas de los detalles de implementación.

Todo dentro de la herramienta Testing Library se centra en sus principios rectores. De este modo, no solo se crean pruebas, sino que se aprende a mejorarlas y hacerlas más valiosas.

Por ello, Testing Library podría convertirse en una parte importante de tu flujo de trabajo. Diríamos que casi todas las cadenas de proyectos podrían beneficiarse de Testing Library, y los usuarios de React querrán, casi con toda seguridad, instaurar esta herramienta como un estándar.

Herramientas de colaboración

A pesar de las estereotipias de que los desarrolladores son antisociales, lo cierto es que la tecnología y la colaboración van de la mano.

Por lo tanto, vamos a recopilar algunas herramientas de colaboración estelares que encajarán en tu próximo proyecto.

43. Jira

Atlassian es una empresa muy apreciada en materia de software. Somos grandes fans de algunas de las ofertas de la empresa: Confluence, Trello, Sourcetree, Bitbucket, y nuestro enfoque aquí, Jira.

La página de inicio de Jira.
La página de inicio de Jira.

Es una herramienta de desarrollo para los equipos que utilizan marcos ágiles, en particular Scrum, que es tan popular. Por ello, el paquete incluye una gran cantidad de funciones. Por ejemplo, puedes utilizar tableros kanban para ayudar a organizar las tareas y los sprints. También puedes implementar tu técnica de estimación, personalizada para tu metodología y proyecto.

Jira se centra en un flujo de trabajo repetible: planificar, seguir, publicar e informar. Es fundamental para varios marcos ágiles, aunque también puedes crear el tuyo propio en función de tu planificación previa al proyecto. Si tiene que pivotar entre sprints, puede hacer evolucionar su proyecto y ampliarlo o reducirlo.

La gran noticia de Jira es que hay un nivel gratuito para empezar, y precios razonables para los demás niveles. Dicho esto, verás que un equipo de diez personas será el requisito mínimo para utilizar Jira de forma eficaz. Podría ser excesivo para cualquier grupo más pequeño.

44. Taskade

Cuando se trata de herramientas de colaboración, es raro encontrar Taskade. Esto le hace un flaco favor a la aplicación, ya que es una herramienta fantástica para mantener a un equipo centrado y en el tema.

El panel de control de Taskade
El panel de control de Taskade

Si eres usuario de otras herramientas de colaboración como Asana o Basecamp (más adelante hablaremos de ambas), aquí te sentirás como en casa. La información que más necesitas, como las tareas pendientes y los recordatorios, está centralizada bajo el capó. Así, puedes presentarla de muchas maneras en función de tu proyecto.

Los tipos de presentación en Taskade
Los tipos de presentación en Taskade

Los tipos de vista «Mindmap» y «Org Chart» son estelares, y cada uno de ellos te ofrece una perspectiva diferente de la información que has añadido.

Un mapa mental en Taskade.
Un mindmap en Taskade.

La aplicación es engañosa en su simplicidad. Aparte de una forma flexible de presentar y gestionar las tareas, no hay mucho más que ofrecer.

Para trabajar con tu equipo basta con pulsar un puñado de botones. Por ejemplo, cada pantalla tiene una ventana de chat ampliable:

La ventana de chat de Taskade.
La ventana de chat de Taskade.

Para algunos, sobre todo si se compara con otras soluciones, Taskade podría ser visto como algo básico e incluso poco equipado. Sin embargo, no es el caso. Taskade es una forma fantástica de colaborar con un equipo, y debido a su simplicidad, se integrará directamente en cualquier proyecto en el que esté trabajando.

45. Asana

La página de inicio de Asana
La página de inicio de Asana

Asana es uno de los nombres más destacados en el campo de las herramientas de colaboración. Es un monstruo cuando se trata de agarrar un proyecto y darle forma con la ayuda de un equipo. Asana también es genial para adaptarse a diferentes flujos de trabajo. Por ejemplo, puedes cambiar entre listas y calendarios, pero también acceder a líneas de tiempo.

Los tipos de flujo de trabajo de Asana.
Los tipos de flujo de trabajo de Asana.

También hay algunas características y funcionalidades fantásticas basadas en el equipo. Los informes son exhaustivos y, en los planes superiores, tienes acceso a un panel de control que muestra varios análisis relacionados con el rendimiento de tu equipo. Incluso hay una forma de controlar las cargas de trabajo de cada miembro del equipo. De este modo, Asana te ayuda a mantener el ritmo de trabajo al mínimo y evita que los miembros del equipo se agoten.

Además, el nivel gratuito no es una demostración reducida de la aplicación completa. Puedes escalar Asana a medida que escalas un equipo, y hay una buena funcionalidad aquí para ayudarte. Por ejemplo, puedes asignar trabajo a los miembros del equipo y gestionar cada flujo de trabajo. También puedes enviar mensajes generales por espacio de trabajo a todo el equipo.

Enviando un mensaje en Asana
Enviando un mensaje en Asana

Es un viejo conocido en la gestión de proyectos colaborativos, pero Asana cumple casi siempre. Verás que una buena parte de tus clientes y compañeros de equipo también tienen una cuenta de Asana, lo que significa que las reuniones dentro de la aplicación serán más frecuentes de lo que podrías suponer.

46. Basecamp

Basecamp es otro de los grandes protagonistas de la gestión de proyectos en equipo. Es uno de los veteranos, ya que existe desde hace casi tanto tiempo como el propio WordPress. El software principal lleva mucho más tiempo en el mercado, por lo que tiene un pedigrí y una trayectoria dignos de mención.

La página de inicio de Basecamp.
La página de inicio de Basecamp.

Sobre el papel, no hay nada excitante en Basecamp en comparación con la competencia. En realidad, muchas de las otras aplicaciones de colaboración han alcanzado lo que ofrece Basecamp. Sin embargo, no es la historia completa.

Sí, puedes crear tareas y listas de tareas, asignarlas a los miembros del equipo y trabajar con todo a nivel de proyecto. Sin embargo, las características más destacadas de Basecamp son la infraestructura y el diseño.

El uso de Basecamp es muy sencillo: crea un proyecto, elabora tu lista de tareas o calendario y asigna las tareas a los compañeros de equipo. Cada proyecto tiene un montón de aspectos autocontenidos que te ayudan a sacar adelante un proyecto:

Los elementos que componen un proyecto de Basecamp.
Los elementos que componen un proyecto de Basecamp.

Como hemos dicho, no hay nada innovador aquí, pero esa es la cuestión. Basecamp es un sistema de gestión de proyectos fiable, sin muchos adornos. Como tal, volverás a él porque es fiable y ampliable en función de tus necesidades.

47. Livecycle

Livecycle es una potente herramienta diseñada específicamente para la colaboración entre equipos de desarrollo. Livecycle aprovecha el poder de los «entornos de previsualización», que se están convirtiendo en una técnica común utilizada por los equipos de desarrollo para crear previsualizaciones temporales y compartibles de los nuevos cambios o características en la solicitud de extracción de un desarrollador.

Livecycle
Livecycle

Los entornos de previsualización permiten a los desarrolladores compartir una instantánea de la última versión sin necesidad de fusionar los cambios en la fase de preparación o producción.

Livecycle añade una capa de colaboración similar a Figma a estos entornos de previsualización para que todos los miembros del equipo puedan dejar comentarios visuales en contexto.

Al gestionar los comentarios recibidos, Livecycle acorta el proceso de revisión, ofrece a los desarrolladores comentarios de mayor calidad y permite a los equipos enviar antes el código a producción. Muy recomendable para cualquier equipo de desarrollo que desee mejorar sus flujos de trabajo de revisiones y la experiencia general de los desarrolladores.

Ejecutores de tareas

Trabajar en las pequeñas tareas de un proyecto de desarrollo web supone un problema. Son necesarias para que seas más eficiente y productivo. Sin embargo, tienes que gastar tiempo y energía para conseguir que estas microtareas superen la línea en el lado opuesto.

Para ayudarte, necesitarás un ejecutor de tareas. Aquí tienes algunos de nuestros favoritos.

48. Grunt

La página web de Grunt.
La página web de Grunt.

Grunt es un ejecutor de tareas específico de JavaScript que busca automatizar algunas de las tareas mundanas y repetitivas que encontrarás a diario. Piensa en tareas que normalmente consideras ordinarias: linting, minificación, compilación y muchas más.

Grunt se encarga de ello a través de un archivo de configuración basado en JSON (llamado «Gruntfile»). Aquí tienes un ejemplo:

module.exports = function(grunt) {
  grunt.initConfig({
    jshint: {
      files: ['Gruntfile.js', "src/**/*.js', "test/**/*.js'],
      options: {
        globals: {
          jQuery: true
        }
      }
    },
    watch: {
      files: ['<%= jshint.files %>'],
      tasks: ['jshint']
    }
  });
  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.registerTask('default', ['jshint']);
};

Si a menudo encuentras que tus proyectos pierden tiempo por tareas rutinarias, es probable que Grunt pase a formar parte de tu caja de herramientas de desarrollo web, como ya ocurre con WordPress, Bootstrap y muchas otras.

49. Gulp

El logotipo de Gulp.
El logotipo de Gulp.

Cuando se comparan los ejecutores de tareas, a menudo hay un enfrentamiento entre Gulp y Grunt. Gulp es un kit de herramientas basado en JavaScript para automatizar tu flujo de trabajo y aumentar tu eficiencia.

Utilizarás archivos dedicados y «streams» para actuar sobre tus activos y código antes de que se escriba en el disco. Cada tarea que crees es una función «asíncrona», y puedes configurarla como privada o pública. La diferencia estriba en los permisos: las tareas privadas no pueden ser ejecutadas por el usuario final y están diseñadas para trabajar con otras funciones.

Hablando de eso, puedes usar las funciones series() y paralelas() para crear tareas. Significa que puedes tomar pequeñas tareas, convertirlas en un engranaje de un sistema más extenso, y luego anidarlas.

Además, también puedes ampliar la funcionalidad de Gulp mediante plugins creados por la comunidad:

Un escaparate de los plugins de Gulp.
Un ejemplo de los plugins de Gulp.

Puede ser una generalización, pero tanto Gulp como Grunt son buenos en cosas diferentes. Gulp es sólido cuando se trata de trabajar con activos que pueden ser parte de un conjunto más extenso de instrucciones. Debido a esto, usted querrá elegir el corredor de tareas adecuado en función de cada proyecto.

Herramientas de contenedor

Nos arriesgaremos a decir que si no utilizas algún tipo de contenedor o una herramienta de máquina virtual, tu progreso como desarrollador web se verá afectado.

Por supuesto, esto no es necesariamente cierto para todo el mundo, pero hay muchas ventajas en el uso de un entorno de desarrollo basado en contenedores. He aquí algunas soluciones de elección.

50. Docker

Para muchos, Docker es el entorno de desarrollo basado en contenedores de elección. La plataforma de código abierto no se centra únicamente en los contenedores, pero esta es una razón que se menciona a menudo para utilizarla.

El logotipo de Docker.
El logotipo de Docker.

En el frontend, es un proceso sencillo: pulsar un botón y obtener un entorno de desarrollo virtual en caja de arena. Por supuesto, todo lo que parece sencillo por encima de la superficie es profundo por abajo. Docker combina una interfaz de usuario (UI), una CLI y una API con una disposición de seguridad para poner un despliegue rápido en tus manos.

Para muchos desarrolladores, Docker va a ser fundamental para crear nuevas aplicaciones. Los desarrolladores web – en particular los de WordPress – tienen una selección de herramientas para el trabajo. Local by Flywheel y DevKinsta son plataformas líderes.

Docker impulsa la aplicación DevKinsta.
Docker impulsa la aplicación DevKinsta.

Nota: Recientemente hemos lanzado DevKinsta – una herramienta de desarrollo local para ayudarte a crear nuevos sitios de WordPress. También puedes desplegar los sitios en tu cuenta de Kinsta con un solo clic.

Docker también se integra con muchas herramientas, y varias de ellas ya estarán en tu flujo de trabajo. Aplicaciones como GitHub, VS Code y otras pueden conectarse con Docker y ofrecer una integración fluida.

En general, Docker podría ocupar toda una serie de artículos sobre tu contenido. A pesar de esto, puede que nada de esto sea necesario. Lo más probable es que utilices Docker a diario y que ya sepas lo increíble que es.

51. LXD

En términos sencillos, LXD es un gestor de contenedores para distros de Linux. Está basado en imágenes y viene con varias imágenes pre-construidas para Linux. Usar un LXD te da la tranquilidad de que estarás desarrollando en el mismo sistema operativo por defecto del usuario final.

El logotipo de LXD.
El logotipo de LXD.

Fue fundado por los desarrolladores de Ubuntu, Canonical, y por supuesto, mantiene una estructura de código abierto. Es capaz de crear entornos seguros utilizando contenedores sin privilegios, controlar el uso de recursos utilizando muchos recursos e incluso gestionar redes.

LXD también es escalable, lo que significa que puede ejecutar miles de nodos de computación o mantener las cosas simples. Para las aplicaciones basadas en la nube, LXD se integra con OpenNebula; este último tiene controladores oficiales para gestionar las instancias de LXD.

Por defecto, muchas herramientas de contenerización utilizan Ubuntu como entorno virtual estándar. Aun así, LXD está optimizado para ejecutar la distro. Si no es algo que has probado antes, vale la pena el tiempo para correr a través de un espacio de trabajo de prueba. Podrías descubrir que se adapta a flujos de trabajo o proyectos de clientes específicos mejor que la competencia.

Herramientas de optimización de imágenes

Los activos (o medios de comunicación, o el nombre que prefieras) abundan en la red. Hay culturas enteras en línea dedicadas y basadas en las imágenes. Por ello, es fundamental que tus proyectos de desarrollo web funcionen bien a pesar del número de imágenes utilizadas.

Estas son algunas de las más populares y excelentes herramientas de optimización de imágenes disponibles.

52. ShortPixel

El sitio web de ShortPixel.
El sitio web de ShortPixel.

Hay muchas aplicaciones de optimización de imágenes disponibles, pero ShortPixel tiene un algoritmo subjetivamente robusto. Es capaz de aplastar el tamaño de los archivos de imagen sin afectar a la calidad. Si nos ponemos quisquillosos, sugeriríamos que debido a que la configuración por defecto es la más alta compresión disponible, no hay ningún otro lugar al que acudir si tu imagen no está lo suficientemente aplastada. Aun así, no es una crítica importante.

ShortPixel tiene toneladas de funcionalidad bajo el capó. Hay tres niveles de compresión, un gran optimizador de PDF, e incluso un compresor de GIF. Este último es algo que no se encuentra en muchas otras herramientas, por lo que es una adición bienvenida a la línea de productos.

Además, toda la interfaz es accesible: Arrastras y sueltas las imágenes en el cargador y esperas a que ShortPixel haga su magia. Una vez procesadas las imágenes, puedes descargarlas en lote o seleccionar imágenes individuales para su descarga:

Descarga de imágenes de ShortPixel
Descarga de imágenes de ShortPixel

Las herramientas de la API de ShortPixel también son robustas. Encontrará APIs separadas para la reducción de imágenes en línea y fuera de línea, completas bibliotecas de cliente PHP y .NET, un motor adaptativo basado en JavaScript, y mucho más.

Sugeriríamos que ShortPixel es una herramienta para desarrolladores, ya que es genial para conectar tu sitio web o aplicación. También diríamos que superaría tu adicción a TinyPNG en un abrir y cerrar de ojos, especialmente si quisieras utilizarlo como parte de un flujo de trabajo mayor.

53. TinyPNG

Es el momento de la herramienta de optimización de imágenes favorita de todos: TinyPNG. También puedes incluir TinyJPG en esta entrada, aunque ambas herramientas trabajan con los mismos formatos de imagen.

El sitio web de TinyPNG.
El sitio web de TinyPNG.

Verás que TinyPNG no ha cambiado mucho a lo largo de los años. Sigue siendo una simple herramienta de arrastrar y soltar para optimizar tus imágenes. No hay campanas ni silbatos, y no hay un amplio conjunto de formatos de archivo. Sin embargo, lo que TinyPNG ofrece es una usabilidad suprema y un montón de integraciones con otras herramientas.

Por ejemplo, hay un plugin para Photoshop y, para aplicaciones más precisas, una API funcional para desarrolladores. Incluso los usuarios de Python pueden participar, ya que la API también es compatible con este lenguaje. También se han creado varios plugins utilizando la API para muchas herramientas de terceros.

No estamos sugiriendo que TinyPNG tenga el monopolio del mercado de la optimización de imágenes, pero suele ser la primera opción para muchos usuarios. Tomar una imagen y soltarla en el cargador lleva segundos, y cuando obtienes una representación perfecta del 99,9% de tu imagen de vuelta, es fácil confiar.

Herramientas de pruebas de sitios web

Ya hemos hablado antes de probar la API y el código principal del sitio, aunque esto no tiene en cuenta el rendimiento de tu sitio web. Aquí hay algunas herramientas que nos encantan y que también podrían ayudarte a analizar el rendimiento de tus sitios.

54. Responsively

La aplicación Responsively.
La aplicación Responsively.

Si alguna vez te has sentido abrumado por el número de consultas de medios que tienes que realizar y perfeccionar en tu aplicación, echa un vistazo a Responsively. Se trata de una herramienta de código abierto que te ayuda a desarrollar sitios según los diferentes viewports de los dispositivos que elijas.

Visualización de diferentes dispositivos en Responsively.
Visualización de diferentes dispositivos en Responsively.

Lo mejor de esto es que puedes comparar los diseños uno al lado del otro. Te da una sólida oportunidad de aumentar tu consistencia entre dispositivos. Cada dispositivo es preciso, y hay muchos para elegir, lo que es excelente si tu sitio se dirige a dispositivos específicos.

También puedes añadir las extensiones de navegador dedicadas para Mozilla Firefox, Microsoft Edge y Google Chrome para enviar páginas al navegador Responsively. A partir de aquí, puedes abrir las herramientas de desarrollo integradas y ponerte a trabajar.

El inspector responsivo
El inspector de Responsively

Hay un montón de otras características, como la funcionalidad de captura de pantalla, soporte de carga en caliente, y más para ayudarte a desarrollar. Es difícil discutir el eslogan de que Responsively es el «navegador del desarrollador web». Puede acabar siendo un componente esencial de tu flujo de trabajo.

55. Google Lighthouse

Para muchos, PageSpeed Insights de Google es una valiosa herramienta para descubrir el rendimiento de un sitio web y dónde se puede mejorar la velocidad de carga.

PageSpeed Insights de Google.
PageSpeed Insights de Google.

Dicho esto, algunos de los programas que se encuentran bajo el capó son más interesantes para analizarlos en profundidad. También podría ajustarse mejor a tus necesidades. Google Lighthouse puede ejecutarse en cualquier página web y proporciona auditorías e informes sobre el rendimiento de la página, el SEO, las aplicaciones web progresivas (PWA), etc.

Las principales formas de ejecutar Google Lighthouse son desde la línea de comandos, utilizando las DevTools de Chrome, o como un módulo de Node. Si utilizas la interfaz de PageSpeed Insights, Lighthouse genera algunas de las puntuaciones y proporciona más información.

Cabe destacar que, a primera vista, Google Lighthouse y PageSpeed Insights parecen similares. Pero PageSpeed Insights utiliza datos basados en el laboratorio combinados con datos de usuarios del mundo real. El análisis de Lighthouse no tiene en cuenta los datos de los usuarios y mide más elementos de tu sitio web.

En nuestra opinión, vale la pena ejecutar tanto PageSpeed Insights como Lighthouse, especialmente si el objetivo de tu cliente es llegar a la cima de las páginas de resultados de los motores de búsqueda (SERP). En cualquier caso, es una herramienta sólida para tener a mano, e incluso podría suplantar a PageSpeed Insights como tu herramienta de rendimiento de elección.

56. Cypress

Las pruebas de extremo a extremo son algo que no es una buena experiencia para muchos desarrolladores. Cypress ha elegido esta colina para morir: es una solución sin complicaciones que se opone a la tendencia de las pruebas de extremo a extremo y produce algo estelar.

La página web de Cypress.
La página web de Cypress.

Mientras que la mayoría de las herramientas de prueba de extremo a extremo se basan en Selenium, Cypress va en una dirección diferente. Esto significa que los problemas que los usuarios encuentran con los probadores basados en Selenium no están presentes aquí. De hecho, los desarrolladores quieren hacer que la configuración, la escritura y la ejecución de las pruebas sea un juego de niños.

Para ello, construyeron la arquitectura desde cero y se centraron en las pruebas de extremo a extremo, excluyendo otras formas. Para ayudar al rendimiento, Cypress se ejecuta en el mismo bucle de ejecución que tu programa, en lugar de ejecutar comandos remotos a través de la red.

Dado que el código de prueba se ejecuta en el navegador, no hay que tener en cuenta ningún controlador ni ningún enlace de lenguaje. Aun así, puedes compilar a JavaScript antes de ejecutar las pruebas.

Si eres un ingeniero de control de calidad (QA) o un desarrollador que quiere que sus pruebas de extremo a extremo tengan acceso nativo a su trabajo, Cypress debería llamar tu atención. La mejor parte es que también hay un nivel gratuito con todas las funciones.

57. Stack Overflow y los motores de búsqueda

Por un momento, permítenos ampliar los límites de lo que se considera una herramienta de desarrollo web. Stack Overflow es bien conocido por cualquiera que tenga un mínimo conocimiento del desarrollo web:

El sitio web de Stack Overflow
El sitio web de Stack Overflow

Es un sitio de preguntas y respuestas centrado en la programación, y forma parte de la red Stack Exchange que cubre todo tipo de temas:

Uno de los muchos sitios de nicho en la red de Stack Exchange.
Uno de los muchos sitios de nicho en la red de Stack Exchange.

Es conocido como un recurso para miles de desarrolladores y, a pesar de algunas controversias sobre su comunidad, el tráfico sigue siendo considerable. Nos atreveríamos a decir que Stack, junto con el motor de búsqueda que elijas, representa una herramienta de desarrollo web flexible para aprender y mejorar tus habilidades.

Por ejemplo, es probable que te dirijas a Stack Overflow cuando te encuentres con un bloqueo de desarrollo relacionado con el código. Del mismo modo, cuando aparece un error que no sabes cómo resolver, pegarlo en un motor de búsqueda es la forma más rápida de encontrar la respuesta que necesitas.

Dado que el 90% de los usuarios encuestados acuden a Stack Overflow para resolver problemas, es probable que todo el mundo utilice la herramienta. Sin embargo, para los principiantes – o incluso si no puedes articular tu problema – los motores de búsqueda serán posiblemente un poco más amigables.

Referencias de desarrollo web

Si eres un desarrollador que se adhiere a la ética «RTFM», no necesitarás que te convenzan en las siguientes entradas. En cambio, si te gusta adentrarte en un problema y resolverlo, debes saber que ha habido innumerables desarrolladores antes de ti que probablemente hayan encontrado una respuesta.

Teniendo en cuenta esto, mira las siguientes herramientas de desarrollo web, todas ellas basadas en materiales de referencia web.

58. MDN Web Docs

En los primeros días de la red, había un sitio llamado Webmonkey, gestionado por Lycos, cuyo objetivo era enseñar desarrollo y programación web a los nuevos usuarios. El espíritu de ese sitio sigue vivo en MDN Web Docs de Mozilla. Webmoney cerró en 2004, y MDN Web Docs llegó en 2005, por lo que hay una conexión natural entre ambos.

La página de inicio de MDN Web Docs.
La página de inicio de MDN Web Docs.

Se trata de una colección de recursos que te ayudarán a aprender a programar para la web en algunos casos, y productos específicos de Mozilla en otros. El contenido se divide en dos grandes categorías: tecnologías y guías de referencia. Se te muestran varios tutoriales basados en tu capacidad y experiencia, una guía de referencia dedicada y algunos recursos adicionales para la primera.

Todas las guías están relacionadas con nichos e industrias específicas dentro de la industria del desarrollo. Por ejemplo, la referencia de Desarrollo Web actúa como una página de «piedra angular» para guías adicionales de HTML, CSS y JavaScript.

Página JavaScript de MDN Web Docs.
Página JavaScript de MDN Web Docs.

También hay una amplia visión de varias industrias, como el desarrollo de juegos y lo que se necesita para empezar en el campo:

La guía de MDN Web Doc sobre el desarrollo de juegos.
La guía de MDN Web Doc sobre el desarrollo de juegos.

MDN Web Docs es una lectura esencial para un desarrollador web principiante, y también ofrece valor más que suficiente para un experto. Si hay algún sitio que merezca un marcador del navegador, es éste.

59. DevDocs – Buscador de documentación de la API

Antes se guardaban todos los manuales de los productos que se compraban en un cajón o armario polvoriento. A medida que la vida se ha vuelto más digital, esos manuales en papel han dado paso a las descargas en PDF del sitio web de cada fabricante.

Gracias a ello, ahora tenemos sitios web que recogen las versiones digitales de los manuales en bibliotecas curadas. Te permite encontrar lo que necesitas en un solo repositorio. Por lo tanto, es lógico que también exista uno para temas de desarrollo web.

En resumen, DevDocs es una biblioteca de documentación para APIs, y es algo que creemos que será valioso para casi todos los desarrolladores:

La página de inicio de DevDocs.
La página de inicio de DevDocs.

Antes de buscar en la biblioteca, querrás habilitar la documentación de la API que desees. Esto se hace desde la pantalla de Preferencias:

La pantalla de preferencias de DevDocs.
La pantalla de preferencias de DevDocs.

Una vez hecho esto, podrás acceder a la documentación pertinente desde un menú de árbol específico:

La pantalla de la API de WordPress.
La pantalla de la API de WordPress.

Es una solución simple a un problema ineficiente, ya que tienes múltiples referencias a la API en un solo lugar. DevDocs es otro sitio que merece un marcador, y es una pena que no haya una aplicación de escritorio disponible para una referencia aún más rápida.

60. CSS-Tricks

Chris Coyier es un nombre que muchos desarrolladores web conocen. Seguro que ya conoces el sitio web que fundó: CSS-Tricks. Como su nombre indica, se trata de un sitio web dedicado a la codificación del frontend, en concreto al CSS, y a cómo mejorarlo.

La página web de CSS-Tricks.
La página web de CSS-Tricks.

Como se indica en la página «Acerca de», durante los primeros años, el tema predominante fue el CSS. Desde entonces, sin embargo, HTML, JavaScript, WordPress y otros han adquirido la misma importancia y se discuten con frecuencia. El resultado es un sitio centrado en el desarrollo del frontend, con un montón de artículos, vídeos y guías para inspirarte.

El blogroll de CSS-Tricks.
El blogroll de CSS-Tricks.

Un elemento sencillo, pero valioso es el Almanaque CSS, que describe los selectores y las propiedades de CSS. Es una gran fuente de referencia si necesitas ponerte al día con ciertos aspectos del lenguaje.

 El almanaque de CSS-Tricks
El almanaque de CSS-Tricks

Aunque hay aspectos de referencia en CSS-Tricks, no es un recurso de referencia en sí mismo. Aun así, debería ser un lugar habitual para ti, ya sea a través de un canal RSS o de otra solución. El contenido es de gran calidad y puede suponer un reto para ti en formas que no habías pensado antes. Como mínimo, suscríbete al boletín y espera a que CSS-Tricks llegue a tu bandeja de entrada.

61. DEV Community

Imagina que pudieras tomar las partes excelentes de las redes sociales, el desarrollo web y Stack Overflow, y luego crear un sitio que los fusione. La Comunidad DEV podría ser el resultado.

La página de inicio de la Comunidad DEV.
La página de inicio de la Comunidad DEV.

Es una plataforma de blogs, pero también una forma de encontrar las respuestas a las preguntas de desarrollo. Seleccionas las etiquetas y las personas a las que seguir, y tu fuente de noticias se convierte en una línea de tiempo automatizada y curada de publicaciones y opiniones:

La línea de tiempo de la Comunidad DEV para la etiqueta JavaScript.
La línea de tiempo de DEV Community para la etiqueta JavaScript.

Es justo sugerir que se trata de información que se puede encontrar en todas partes, si se está dispuesto a encontrarla. El punto positivo de DEV Community es que está aquí, y es una recopilación dirigida de temas de desarrollo. Piensa en ello como una pista de convención de desarrolladores, en lugar de escuchar y entrometerte en una conversación relacionada en la parada del autobús.

Es otro sitio que funcionará bien dentro de tu feed RSS, o como un resumen en tu bandeja de entrada. Como tal, también es un recurso «durmiente» en el sentido de que te dirigirás aquí muchas veces sin darte cuenta.

62. Can I use…

Se podría decir que Jeeves inició la tendencia de hacer preguntas en Internet para encontrar información. Fue sustituido rápidamente por varios algoritmos de búsqueda, aunque la búsqueda basada en preguntas sigue siendo una forma fiable de encontrar lo que se necesita.

Can I use… es la respuesta del desarrollador de frontend a «¿Existe un Ask Jeeves para CSS?

La página de inicio de Can I use...
La página de inicio de Can I use…

La premisa es sencilla: escribes el selector o propiedad CSS en el campo de búsqueda y la base de datos te devuelve si puedes utilizarlo para crear sitios web. Tampoco está limitado a CSS. También admite JavaScript y HTML:

Buscando un elemento HTML en ¿Puedo usar...
Buscando un elemento HTML en Can I use…

Es una base de datos de lenguajes frontend, por lo que no buscará devolver resultados para PHP, Python u otros lenguajes del lado del servidor. Aun así, Can I use… es una herramienta inmensa y valiosa que te ayudará en lo que respecta a la accesibilidad y al diseño para múltiples dispositivos.

Es una propuesta sencilla para sacar un elemento específico y ver de un vistazo si el navegador de destino lo soporta:

La tabla de soporte del navegador en ¿Puedo usar...
La tabla de soporte del navegador en ¿Can I use…

Si se mira más de cerca, también se pueden encontrar estadísticas como la fecha de lanzamiento del elemento y un porcentaje de uso:

Información para un elemento específico en Can I use...
Información para un elemento específico en Can I use…

En general, Can I use… puede no tener un uso regular. Sin embargo, en ciertas etapas de un proyecto, va a estar abierto casi todo el tiempo. Una vez que hayas averiguado lo que soportan tus navegadores de destino, Can I use... vuelve a estar en tus marcadores y espera a la próxima vez que lo necesites. Es un servicio útil que puede ser un «aguatero» cuando se trata de tu código frontend.

Resumen

El tiempo y el dinero son escasos, y tiene cierta lógica optar por las mismas herramientas de desarrollo web de siempre. Sin embargo, hacer una elección meditada sobre las necesidades de un proyecto dará sus frutos en tiempo, costes y productividad.

En este post, hemos repasado 62 increíbles herramientas de desarrollo web que puedes utilizar en [año] para darte un impulso a ti y a tu equipo. Puede ser que ya lo hagas. Si las distintas encuestas son correctas, más desarrolladores que nunca recurren a GitHub, TypeScript, diferentes pilas de servicios web y uno de los muchos frameworks de JavaScript para sacar adelante los proyectos.

Independientemente de las herramientas de desarrollo web que elijas usar, los clientes de Kinsta pueden acceder a más a través de la plataforma MyKinsta. Esto supone una mejora rápida y sencilla de la optimización general mediante el uso de la función de minificación de código integrada en el panel de control de MyKinsta, que permite a los clientes activar la minificación automática de CSS y JavaScript con un simple clic.

¿Tienes alguna herramienta de desarrollo web que recomendar y que los desarrolladores utilizarán en [año]? Escríbenos tu opinión en la sección de comentarios más abajo.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.