Creación, mantenimiento y asistencia web

Herramientas para el desarrollo web

En este artículo hago una recopilación de las herramientas o aplicaciones que utilizo como desarrollador web.

Como ya escribí en más de alguna ocasión, me gusta el Software Libre, así que en esta lista vas a encontrar muchas herramientas de este tipo.

Seguro que ya conoces varias de ellas, y seguro que también usas otras diferentes muy buenas, así que... ¡No dudes en recomendármelas también!

Lo primero que quiero es agradecer la gran labor que realizan las personas que hacen posible que contemos con ellas: ¡Muchas gracias a todos por vuestro gran trabajo!

No estoy afiliado y en caso contrario lo indico claramente, aunque no te supone ningún perjuicio, todo lo contrario, podrías beneficiarte de alguna oferta.

No creo que sea necesario decirlo pero estas son las herramientas que yo utilizo. No tienen que parecerte las mejores o puede que no se adapten a lo que tú necesites. Como el saber no ocupa lugar, me encantaría escuchar las que tú usas ¡espero me resulten muy útiles y pueda añadirlas a esta lista!

Sistema operativo: GNU/Linux

Es el que llevo utilizando desde hace muchos años. Empecé probando Suse, luego Debian, Ubuntu... más adelante fui administrador de sistemas y probé unos cuantos más.

La verdad es que este tema, como cada uno de los siguientes que trato en este artículo, dan para hablar de ellos un buen rato.

Así que, resumiendo, ahora mismo utilizo sobre todo Ubuntu y en algunos equipos Debian, Fedora o Mint.

Gestión de contenidos web

De esto podríamos hablar largo y tendido también, pero abreviando: Joomla. Si quieres iniciarte, he escrito una guía.

Extensiones para Joomla

En este artículo solo voy a mencionar las que más utilizo (orden alfabético).

  • Akeeba Backup, para realizar copias de seguridad y llevar sitios web de un sitio a otro cómodamente.
  • JCH Optimize, para optimizar diversos aspectos de la velocidad de carga del sitio.
  • Joomla Content Editor (JCE), como editor de contenidos. También utilizo SP Page Builder Pro para la creación de páginas "estáticas".
  • Jsitemap, para la creación de mapas web dinámicos.
  • RS Form Pro, para crear formularios personalizados.

Frameworks para plantillas o templates

Los utilizo principalmente para construir el diseño o aspecto de un sitio sobre una base que sea versátil y completa. Estos son los que más suelo utilizar pero hay muchos más:

  • Helix, de JoomShaper.
  • T4, de Joomlart.
  • Usé mucho Gantry, de Rockettheme, ahora ya menos.
  • Ahora estoy con pruebas también de YOOtheme Pro.

Casi todos cuentan con al menos una plantilla gratuita. Así puedes probar e incluso construir una web a medida para tus necesidades.

Con la llegada de Joomla 4 y su plantilla Cassiopeia quiero darle una buena oportunidad y no depender tanto de terceros. Esta plantilla promete así que le estoy dando una oportunidad.

Navegadores web

Firefox es mi preferido por diversos motivos, entre ellos la filosofía libre de la Fundación Mozilla y la cantidad de herramientas que ofrece.

¡Es una navaja suiza para el programador web!

También utilizo Chromium (base libre de Google Chrome) y Brave. En algunas ocasiones uso Google Chrome y ya mucho menos Opera. De Internet Explorer tengo malos recuerdos porque sobre todo lo he usado para ver cómo falla.

Extensiones de Firefox útiles para desarrollo web

Lo que más utilizo son las propias herramientas para desarrolladores integradas en Firefox y en algunas ocasiones de Chromium o Chrome.

  • HTML Validator: nos permite ver si hay errores en el código HTML de una página, incluso en local.
  • Headings map: con este complemente vemos la estructura de títulos de una página rápidamente.
  • Web Developer. Muy útil para comprobaciones de accesibilidad, entre otras.
  • Concretamente para accesibilidad también estoy probando aXe, WCAG Contrast Checker y alguna más que me han recomendado desde el grupo de trabajo de accesibilidad de Joomla.
  • Web Developer Checklist: realiza un análisis rápido de la página en la que estés.
  • Wappalyzer o WhatRuns para identificar con qué tecnologías están hechos los sitios web que visito.
  • Nimbus Screenshot. Ahora estoy probando la nueva herramienta que trae Firefox integrada para realizar capturas de pantalla. Permite capturar una página entera o solo una región, quizá lo que le falta es poder añadir notas rápidamente como Nimbus.

IDE para programación

Siempre me han gustado Eclipse y Netbeans pero tengo que reconocer que llevo tiempo usándolos muy poco (o nada) y estoy probando otros:

  • Code (de Microsoft). Muy popular y plugins disponibles para prácticamente todo.
  • Atom (por Github - ahora de Microsoft). Me está gustando por su aparente ligereza y la cantidad creciente de complementos que pueden facilitar el trabajo. Como era de esperar, han anunciado que no van a continuar con el proyecto...
  • PhpStorm, gracias a PHP Vigo y Jetbrains por una licencia de prueba (porque no es gratis ni tampoco libre).

Para trabajar con bases de datos uso mucho a nivel servidor phpMyAdmin. Es el que ofrecen la mayoría de proveedores de alojamiento. A nivel escritorio me está gustando DBeaver.

Gestión de versiones con Git

Para la gestión de versiones de ficheros utilizo Git. En muchas ocasiones en plataformas como GitLab, GitHub o Bitbucket.

Para trabajar con Git utilizo la línea de comandos y, a veces, el entorno gráfico que ofrecen las anteriores plataformas. Por comodidad también uso Netbeans, Atom o Code. Estoy descubriendo otros gestores gráficos interesantes como Git Cola, Gitg o Giiggle.

Estadísticas web y monitorización

Matomo (antiguo Piwik): Estadísticas de las visitas, duración, páginas vistas, etc, etc. Se pueden utilizar eventos. Permite definir y medir objetivos incluyendo, por supuesto, ventas realizadas en un comercio electrónico. Ah, y lo puedes configurar para que no incluya cookies. También utilizo Google Analytics en muchos casos.

Para la vigilancia de los sitios y saber si alguno tiene problemas de velocidad de carga o caídas utilizo Zabbix.

Antes usaba PHP Server Monitor, que es mucho más sencilla pero menos versátil.

Posicionamiento y optimización web

Google Search Console: Comprueba si hay errores en nuestro sitio o de indexación, se pueden ver las palabras por las que se encuentran nuestros contenidos, enviar un mapa del sitio, etc, etc.

Otra herramienta que Google nos ofrece, en este caso para medir la velocidad de carga, es Google PageSpeed Insights. Y no solo mide, sino que nos recomienda las mejoras a realizar.

Para localizar errores de páginas o imágenes no encontradas (404) o similares he descubierto SiteInspector. Una herramienta libre y gratuita que puedes desplegar rápidamente en tu equipo o servidor con Docker.

Si quieres profundizar un poco más, he escrito un artículo relacionado con este tema de optimización para personas y posicionamiento en buscadores y cómo aplicarlo a Joomla.

Edición y creación de imágenes

Sobre los dos grandes, Gimp e Inkscape, ya he escrito un artículo.

Agave y Gpick son dos herramientas de escritorio que utilizo mucho para capturar colores y generar complementarios, análogos, tríadas, etc.

Capturas de pantalla

Las distribuciones de GNU/Linux traen consigo una herramienta para capturar la pantalla que suele ser muy funcional. Además de esta, suelo tener a mano Shutter, Flameshot o Ksnip.

La primera es muy versátil haciendo capturas de diferentes formas. La otras dos permiten añadir comentarios, flechas y otros elementos de forma rápida.

Recomiendo a menudo TinyPNG para la compresión de imágenes que luego se suban a una web. Ahora estoy probando también una aplicación libre para Linux llamada Trimage Image Compressor.

Grabar y editar vídeo

Para hacer vídeos o imágenes animadas de forma rápida ahora estoy usando Peek (muy rápido y sencillo) y ya menos Byzanz (línea de comandos).

Estoy trasteando con OBS Studio para grabar mi escritorio. Es súper potente y permite hacer un montón de cosas chulas. Me resulta útil poder mostrar mi escritorio y a la vez mi cámara en pequeño en una esquina.

Para la edición de vídeo he probado OpenShot Video Editor y Kdenlive.

Si necesito recortar o convertir vídeos entre formatos, Handbrake.

Gestión y compartición de archivos

Llevo una temporada usando Nextcloud y me funciona muy bien. Permite tener tu propia «nube» en la que almacenar y sincronizar ficheros entre dispositivos y compartirlos con otras personas.

Además de archivos también puedes alojar calendarios, contactos, notas y un sinfín de añadidos que te permiten hacer casi de todo.

Cada día le saco más rendimiento, aunque tengo que reconocer que aún utilizo algunas herramientas como Google Drive para alguna cosa.

Utilizo Meld para la comparación de ficheros de texto.

Filelight para examinar un árbol de carpetas y saber cómo está distribuido el espacio ocupado por los ficheros dentro de estas.

En este apartado cabe mencionar al clásico Filezilla, para transmitir archivos a través de FTP y SFTP.

Tareas y notas

La verdad es que he probado de todo para organizarme a lo largo de los años... Pero para abreviar, ahora mismo estoy usando un sistema de notas, guardadas en carpetas.

Las sincronizo con la aplicación Notas, de Nextcloud.

Son archivos en texto plano (markdown) y los edito con diferentes aplicaciones, como Zettlr. He probado otras como ReText, Ghostwriter, Mark Text...

Para una organización más visual uso tableros kanban. Estoy utilizando Kanboard y probando Deck.

Chat y videoconferencia

Después de haber probado IRC, Skype, Messenger, ICQ, Whatsapp, Telegram, Google Hangouts (ahora Meet), Teams, Slack, Glip, Facebook, Discord, RingCentral y seguro que unos cuantos más...

...estoy dándole una oportunidad a Talk, de Nextcloud, y a Jitsi; sobre todo por ser libres, abiertos y gratuitos.

También está en mi punto de mira volver a usar Big Blue Button, que lo había probado hace años y es una opción muy prometedora.

Para probar la webcam en Linux uso Cheese pero para configurarla he conocido Guvcview y es muy recomendable.

Alojamiento o hosting y dominios

Este tema da para hablar o escribir mucho pero voy a ir dejando por aquí las herramientas que más suelo utilizar.

Me ayuda tener acceso SSH a los servidores para trabajar más rápido y tener la posibilidad de automatizar ciertas tareas, pero no todos lo ofrecen.

Uso Dig para visualizar los registros DNS de un dominio.

Otra bastante útil es Whois, que proporciona la información del propietario de un dominio. Para los .es hay que ir a nic.es.

Utilizo Host para saber la IP asociada a un dominio o viceversa.

Para montar mi propio panel de control de alojamiento he probado Vesta CP y su gemelo Hestia Control Panel. Ahora he vuelto a darle otra oportunidad al ya clásico ISPConfig.

Los siguientes son proveedores de alojamiento y dominios con los que tuve ocasión de trabajar directamente (listado en orden alfabético):

  • Aitire: Se encargan de la administración de sistemas por lo que hablamos de hosting para proyectos grandes. Servidores ubicados en España (centros de datos de Madrid y Vigo).
  • Cloudaccess (afiliado): Empresa extranjera pero involucrada con el proyecto Joomla.
  • Dinahosting (afiliado): Destaca por su asistencia 24 horas (a nivel hosting, no especializada en Joomla). Servidores ubicados en España.
  • Lugo Internet (afiliado): Buen precio y asistencia (a nivel hosting, no especializada en Joomla). Servidores con CPanel y ubicados en España.
  • Profesional Hosting (aflliado): Muy buena atención al cliente con una relación calidad precio estupenda. Especializados en gestores de contenidos como Joomla.
  • Raiola Networks (afiliado): Asistencia 24 horas en español. Especializados en Joomla, Wordpress y Prestashop. El panel de usuario es CPanel.
  • Sered (afiliado): Servidores en Madrid y Barcelona con sede y asistencia técnica desde A Rúa, en Galicia. El panel de usuario también es CPanel.
  • Siteground (afiliado): Empresa extranjera, aunque con sede en España, muy involucrada con el proyecto Joomla. La última vez que comprobé tenían servidores en 4 datacenters, los más cercanos Amsterdam y Londres. Panel del alojamiento Cpanel también.
  • Webempresa: Hosting especializado en plataformas PHP como Joomla, Wordpress y Prestashop. Servidores ubicados en España. CPanel.

Gestión de usuarios y contraseñas

Keepass: Para la gestión de usuarios y contraseñas. Tu propia base de datos privada y cifrada. Ahora concretamente estoy probando KeePassXC en el ordenador y KeePassDroid en el móvil.

Utilizando una herramienta como Nextcloud, accedes a la información en cualquiera de tus dispositivos (ojo, siempre atentos a la seguridad).

Portapapeles

Para copiar y pegar de forma un poco más avanzada.

Como ya probablemente sepas, en Linux tenemos dos portapapeles:

  • El clásico que usamos con las teclas Ctrl + C para copiar y Ctrl + V para pegar.
  • Además, con el botón del centro del ratón pegas lo último que hayas seleccionado, sin necesidad de haberlo copiado.

Bien, pues además me gusta tener un gestor del portapapeles que me permita ver los anteriores textos copiados y acceder a ellos rápidamente. En este sentido he usado ya varios pero ahora mismo estoy con CopyQ.

Biblioteca de libros digital

Para organizar los libros, Calibre. Permite etiquetarlos, guardarlos y ordenarlos de diferentes modos. Esta biblioteca la guardo en Nextcloud y facilita el acceso a ella desde cualquier dispositivo.

Otras herramientas

Las siguientes aplicaciones también se merecían un apartado propio peero... no es así, al menos de momento.

Para crear documentos, hojas de cálculo, presentaciones sencillas uso LibreOffice.

Utilizo Oh My Zsh como terminal de comandos, me parece muy cómodo y tiene múltiples añadidos que pueden hacerte la vida más fácil.

Para conectarme a servidores y estar en la misma red que ellos, como si fuese una VPN, empleo Sshuttle.

Cuando echamos muchas horas delante de la pantalla viene bien una herramienta como Safe Eyes para proteger la vista. Cada cierto tiempo da recomendaciones para no quedarnos como topos...

Conclusiones

Como ya sabíamos, hay cientos de herramientas libres y abiertas para nuestras tareas del día a día.

Debemos tenerlo en cuenta antes de poner nuestros datos en plataformas de terceros y provocarnos a nosotros mismos un secuestro tecnológico.

Si vas a recomendar un programa, procura no generarle un problema a esa persona, recomienda algo que sea abierto y libre.

También debemos pensar que el software creado con dinero público debe ser público, ¡exijamos que así sea!

Seguro que ya conocías muchas de estas herramientas y que tienes unas cuantas más que te ayudan en el día a día, así que por favor, ¡deja tu comentario!

Si este artículo te parece interesante compártelo. A continuación lo tienes fácil para algunas redes populares:

Apúntate y recibe gratis directamente en tu buzón de correo la Guía rápida de iniciación a Joomla.

Además, cada cierto tiempo envío trucos y novedades para aplicar a tu sitio web.

No me gusta el correo basura. Protejo tus datos.