Dark mode vs Light mode: cuándo usar cada uno y cómo implementarlos

como experta diseñadora gráfica genera una imagen para el blog martagonzalez.dev para el post titulado: Dark mode vs Light mode: cuándo usar cada uno y cómo implementarlos

¿Qué es realmente el Dark Mode y el Light Mode?

El modo claro (light mode) es la convención clásica: fondos claros y texto oscuro.

El modo oscuro (dark mode) invierte esta lógica: fondos oscuros y texto claro.
Pero no se trata solo de cambiar colores. Un buen dark mode necesita contrastes adecuados,
una paleta optimizada y una jerarquía visual clara.

Piensa que no es simplemente “dar vuelta” el esquema de colores, sino rediseñar la experiencia.

Dark mode vs Light mode: ventajas y desventajas

Ventajas del Dark Mode

  • Reduce fatiga visual en entornos oscuros.
  • Mejora la autonomía en pantallas OLED.
  • Aporta estética moderna y elegante.

Desventajas del Dark Mode

  • Peor legibilidad en textos largos.
  • Puede aumentar la carga cognitiva si los contrastes son malos.

Ventajas del Light Mode

  • Excelente para lectura prolongada.
  • Más familiar para la mayoría de usuarios.
  • Contraste y jerarquía más fáciles de gestionar.

Desventajas del Light Mode

  • En la oscuridad produce deslumbramiento.
  • Puede parecer menos sofisticado en ciertas interfaces.

¿Cuándo usar cada uno?

La clave no es cuál es mejor, sino cuál es mejor para tu contexto.

Casos ideales para Light Mode

  • Blogs y periódicos digitales.
  • Aplicaciones educativas o de lectura intensiva.
  • Herramientas de oficina (documentos, hojas de cálculo).

Casos ideales para Dark Mode

  • Aplicaciones creativas (editores de código, diseño, música).
  • Apps de entretenimiento (Netflix, YouTube, Spotify).
  • Interfaces para uso nocturno o en ambientes oscuros.

La mejor opción: dar ambas posibilidades

Lo más recomendable es implementar un sistema dual y permitir que el usuario elija.
Esto reduce la carga cognitiva porque no impones un estilo,
sino que das libertad.

Cómo implementar Dark Mode y Light Mode

Aquí te muestro diferentes formas de hacerlo en proyectos web,
desde lo más sencillo en CSS hasta integraciones en React y Tailwind.

1) Detectar preferencia del sistema con CSS

 

/* Light por defecto */
body {
    background-color: #ffffff; 
    color: #222222; 
    } 
/* Dark automático */ 
@media (prefers-color-scheme: dark) { body { 
        background-color: #121212; 
        color: #f1f1f1; 
    } 
}

2) Toggle manual con JavaScript

const btn = document.getElementById('toggle-theme'); btn.addEventListener('click', () => { document.body.classList.toggle('dark'); localStorage.setItem('theme', document.body.classList.contains('dark') ? 'dark' : 'light' ); });

3) Dark Mode con Tailwind CSS

// tailwind.config.js
module.exports = {
  darkMode: 'class',
  theme: { extend: {} },
};

<div class="bg-white text-black dark:bg-gray-900 dark:text-white">
  <h1>Hola Mundo</h1>
</div>

4) Toggle en React

<code class=»language-tsx»>const [theme, setTheme] = useState( localStorage.getItem(‘theme’) || ‘light’ ); useEffect(() => { document.body.className = theme; localStorage.setItem(‘theme’, theme); }, [theme]); </code>

Buenas prácticas

Contraste adecuado

Evita el negro puro #000 y el blanco puro #fff.
Usa tonos suaves como #121212 y #f9f9f9.

Colores de acento

En dark mode, los colores vibran más. Ajusta saturación para evitar cansancio visual.

Imágenes e iconos

Asegúrate de que tus ilustraciones y logos tengan versión para ambos modos.

Preguntas frecuentes

¿El dark mode es siempre mejor para la vista?

No. Es útil en entornos oscuros, pero puede cansar en lecturas largas.

¿Debo implementar ambos modos en mi web?

Sí, si tu producto se usa en contextos variados (blogs, apps de productividad, e-learning).

¿El dark mode afecta al SEO?

No directamente. Pero mejora la experiencia del usuario y eso ayuda al posicionamiento.


Ofrecer ambas opciones es sencillo hoy en día y aporta comodidad, accesibilidad
y personalización. Al final, lo importante no es qué prefiero yo, sino qué le da
a tu usuario una mejor experiencia.

Cómo desplegar tu aplicación de React + Vite en GitHub Pages

🚀 Cómo desplegar tu aplicación de React + Vite en GitHub Pages

Publicar tu app en GitHub Pages es una forma rápida y gratuita de mostrar tus proyectos front-end. En esta guía te explico, paso a paso, cómo hacerlo desde un proyecto creado con React y Vite.

Requisitos previos

  • Proyecto creado con React + Vite.
  • Repositorio en GitHub con tu código.
  • Node.js y terminal operativos.

Nota: GitHub Pages sirve sitios estáticos (HTML/CSS/JS); no ejecuta código de servidor.

Configura la ruta base en vite.config.ts o vite.config.js

Vite necesita saber desde qué ruta se servirá tu sitio en producción. Para repositorios de proyecto
(https://TU_USUARIO.github.io/NOMBRE_DEL_REPO/), define base con esa URL.

Ejemplo: vite.config.ts


import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
  plugins: [react()],
  base: 'https://TU_USUARIO.github.io/NOMBRE_DEL_REPO/',
})

Si usas un User/Org Page (repositorio llamado TU_USUARIO.github.io), la base suele ser '/':

export default defineConfig({
  plugins: [react()],
  base: '/',
})

Instala y prepara gh-pages

  1. Instala la dependencia:

    npm install --save-dev gh-pages
  2. Añade scripts en package.json:

    {
      "scripts": {
        "dev": "vite",
        "build": "vite build",
        "preview": "vite preview",
        "deploy": "npm run build && gh-pages -d dist"
      }
    }

    El script deploy compila tu app y publica la carpeta dist en la rama gh-pages.

Despliega tu app

  1. Ejecuta el despliegue:

    npm run deploy
  2. Activa GitHub Pages: en tu repositorio, ve a Settings > Pages y selecciona la rama gh-pages (carpeta raíz).

  3. Verifica la URL final:

    https://TU_USUARIO.github.io/NOMBRE_DEL_REPO/

Resumen rápido

Paso Acción
1 Definir base en Vite según tu tipo de página (User/Org o Project).
2 Instalar gh-pages.
3 Añadir scripts build y deploy en package.json.
4 Ejecutar npm run deploy.
5 Configurar GitHub Pages para usar la rama gh-pages.
6 Comprobar la URL publicada.

Rutas con React Router (SPA)

GitHub Pages no soporta el history API del navegador sin configuración extra. Tienes dos alternativas:

  1. Usar HashRouter (recomendado por simplicidad):

    import { HashRouter, Routes, Route } from 'react-router-dom'
    export function App() {
      return (
        <HashRouter>
          <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/about" element={<About />} />
          </Routes>
        </HashRouter>
      )
    }
  2. Mantener BrowserRouter y añadir una 404.html que redirija a index.html (más avanzado). Para la mayoría de casos, HashRouter es suficiente.

Problemas comunes y soluciones

  • 404 Not Found / rutas rotas: usa HashRouter o configura una 404.html que redirija a index.html.

  • Recursos (CSS/JS) sin cargar: comprueba que base termina en / y apunta a la URL correcta.

  • La página no actualiza tras desplegar: puede ser la caché. Fuerza recarga (Ctrl/Cmd + Shift + R) o espera unos minutos a la propagación.

  • Error de permisos al publicar: verifica que el repositorio no es privado (o que tu configuración de Pages permite despliegue desde gh-pages).

  • Rama gh-pages no aparece: se crea en el primer npm run deploy. Si falla, revisa el log del comando.

Checklist final

  • He configurado base correctamente según el tipo de página.
  • La app compila sin errores con npm run build.
  • Las rutas funcionan (preferiblemente con HashRouter).
  • GitHub Pages está activado apuntando a gh-pages.
  • La URL final carga estilos, imágenes y navegación.

Atajos y trucos para usar Visual Studio Code desde la terminal en Mac (como una pro)

Visual Studio Code desde la terminal en Mac

Potencia tu flujo de trabajo con terminal y VS Code en Mac

Si ya sabes cómo abrir Visual Studio Code desde la terminal en Mac con code, ¡es hora de ir un paso más allá!

Aquí te comparto una selección de trucos y atajos útiles para exprimir al máximo la combinación de terminal + VS Code en macOS.

Estos tips te ayudarán a ahorrar tiempo y trabajar mejor con Visual Studio Code desde la terminal en Mac.

1. Crea alias personalizados para abrir proyectos

Si sueles trabajar en varios proyectos, puedes crear alias rápidos para abrir cada uno sin tener que navegar carpetas:

📁 Paso 1: Abre tu archivo de configuración
Dependerá de tu shell:

  • Zsh (por defecto en macOS):


	nano ~/.zshrc

Bash:


	nano ~/.bash_profile

📁 Paso 2: Añade tus alias


	alias portafolio="code ~/Proyectos/portafolio"
alias blogdev="code ~/Sites/martagonzalez.dev/blog"

Guarda el archivo y ejecuta source ~/.zshrc (o .bash_profile) para aplicar los cambios.

Ahora solo escribe portafolio y ¡listo!

2. Abre archivos individuales directamente

¿Sabías que también puedes abrir un archivo concreto?


	code index.html

Incluso varios a la vez:


	code index.html style.css app.js

3. Abre VS Code sin cargar ningún proyecto

Si solo quieres lanzar el editor sin abrir carpetas o archivos, basta con:


	code

Ideal para tomar notas rápidas o crear archivos nuevos.

4. Combina VS Code con Git desde la terminal

Visual Studio Code se lleva muy bien con Git. Si estás dentro de un repo, puedes hacer:


	code .gitignore

O incluso configurar que los diffs y merges se abran en VS Code:


	git config --global core.editor "code --wait"

5. Limpieza: cómo reiniciar VS Code desde la terminal

Si algo se queda pillado o quieres cerrar y reabrir el editor rápidamente:


	killall "Visual Studio Code"; sleep 1; code .

⚠️ Úsalo con cuidado, pero puede sacarte de un apuro.

💎 Bonus: otros comandos útiles de VS Code CLI


code --new-window            # Abrir en nueva ventana
code -r .                    # Reemplaza la ventana actual
code --diff file1 file2      # Ver diferencias entre archivos
code --disable-extensions    # Modo sin extensiones (ideal para debug)


A medida que te acostumbras a trabajar desde la terminal, verás que estos pequeños trucos se vuelven parte natural de tu día a día.
Y si además usas alias inteligentes, tu flujo de trabajo se vuelve mucho más ágil y profesional.

Si estás empezando y aún no sabes cómo abrir VS Code desde la línea de comandos, te recomiendo leer primero este artículo: cómo abrir Visual Studio Code desde la terminal en macOS.

¿Aún no tienes instalado Visual Studio Code? Puedes descargarlo gratis desde su sitio oficial y comenzar a potenciar tu flujo de trabajo desde la terminal en Mac.