Figma

Figma

Figma es una herramienta muy conocida en el mundo del diseño y desarrollo de interfaces. Si bien nació como un editor de diseño colaborativo en la nube, en los últimos años se ha consolidado como un recurso valioso también para programadores, ya que permite documentar, prototipar y generar especificaciones de interfaces de manera clara y compartida con equipos de desarrollo.


¿Qué es Figma?

2. ¿Para qué se usa?

3. ¿Qué puedo construir con Figma?

4. ¿Cuándo es más conveniente usarlo?

Buenas prácticas recomendadas

Aunque Figma no es un entorno de programación como tal, sí requiere organización y disciplina similares a las del código. Algunas prácticas clave:


Resumen rápido

✅ Fortalezas principales:

⚠️ Debilidades principales:

🛠️ Cuándo usarlo:

🚫 Cuándo evitarlo:


Temas


Conceptos relacionados

Antes o junto al uso de Figma, conviene conocer los siguientes conceptos:

UI (User Interface):

Diseño de la interfaz visual con la que interactúa el usuario.

UX (User Experience):

Experiencia completa de interacción de un usuario con el producto.

Componentes:

Elementos reutilizables (botones, inputs, menús) que funcionan como “funciones” en código.

Design System:

Conjunto organizado de componentes, estilos y patrones que garantizan consistencia visual y de interacción.

Prototipado:

Simulación de flujos y pantallas para validar la experiencia antes de programar.

Auto Layout:

Sistema de reglas para que los elementos se ajusten de forma automática, similar a flexbox o grid en CSS.

Tokens de diseño:

Variables de estilos (colores, fuentes, tamaños) exportables y reutilizables en el código.

Exportación de assets:

Proceso de generar imágenes, íconos o vectores listos para usar en un proyecto.

Inspección de código:

Funcionalidad que permite ver propiedades CSS, Swift o XML directamente desde los elementos diseñados.

🔼 temas


Herramientas recomendadas

Para un programador, no basta con manejar el editor de diseño: también es importante apoyarse en herramientas clave que facilitan el puente entre diseño y código.

Figma Dev Mode:

Permite a los desarrolladores inspeccionar, copiar propiedades CSS, exportar assets y generar snippets de código rápidamente.

Figma Plugins para desarrollo:

Integraciones con repositorios y proyectos:

Figma API:

Útil para automatizar procesos como sincronización de tokens de diseño o generación de documentación técnica.

FigJam:

Herramienta de Figma para trabajo colaborativo en brainstorming, mapas de flujo y documentación ligera antes del diseño.

🔼 temas


Conceptos Claves

🟢 Básico

1. ¿Qué es Figma y en qué se diferencia de otras herramientas de diseño como Sketch o Adobe XD?

Figma es una herramienta de diseño colaborativo en la nube. A diferencia de Sketch (solo macOS) o Adobe XD (requiere instalación), Figma es multiplataforma, funciona en navegador y permite colaboración en tiempo real sin necesidad de sincronización manual.

2. Explica qué es un componente en Figma y por qué es importante en el desarrollo de interfaces.

Un componente es un elemento reutilizable (ejemplo: botón, input). Es importante porque asegura consistencia en el diseño y permite que cambios globales se apliquen en todas las instancias, como sucede con una función en programación.

3. ¿Qué son los estilos en Figma y cómo ayudan a mantener consistencia en un proyecto?

Los estilos son definiciones globales de color, tipografía, efectos y grids. Ayudan a mantener consistencia visual y permiten cambios rápidos en todo el diseño sin modificar cada elemento manualmente.

4. ¿Qué diferencia existe entre un frame y un grupo?

5. ¿Qué es Auto Layout y qué problemas soluciona?

Auto Layout es un sistema que organiza elementos automáticamente, similar a flexbox o grid en CSS. Permite que los elementos se adapten al contenido o al tamaño del contenedor, evitando ajustes manuales en cada cambio.


🟡 Intermedio

6. ¿Cómo se estructura un Design System en Figma y qué beneficios ofrece a los programadores?

Se estructura con componentes reutilizables, estilos globales y bibliotecas compartidas. Beneficios: consistencia visual, reducción de errores y comunicación más clara con el equipo de desarrollo.

7. ¿Qué son los tokens de diseño y cómo pueden integrarse con el código?

Los tokens son variables de diseño (colores, tipografías, espaciados) definidas en Figma. Pueden exportarse a JSON o integrarse con frameworks como Tailwind o Material UI para mantener sincronía entre diseño y código.

8. Explica cómo funciona el modo de inspección (Dev Mode) y qué información puede obtener un desarrollador.

Dev Mode permite a los programadores ver propiedades como medidas, colores, tipografías, paddings y exportar assets. También genera fragmentos de código en CSS, iOS (Swift) o Android (XML).

9. ¿Cuál es la diferencia entre prototipo estático y prototipo interactivo en Figma?

10. ¿Cómo exportarías un set de íconos desde Figma para utilizarlos en un proyecto web en React?


🔴 Avanzado

11. ¿Cómo utilizarías la API de Figma para automatizar la sincronización de estilos o componentes?

Usaría la Figma REST API para leer el archivo y extraer datos de estilos (colores, tipografías, espaciados). Luego integraría esos datos en el repositorio del proyecto, actualizando automáticamente tokens de diseño en JSON.

12. ¿Qué buenas prácticas recomiendas para nombrar capas, componentes y páginas en proyectos grandes?

13. ¿Cómo manejarías el versionado de un archivo de Figma en un equipo con múltiples diseñadores y desarrolladores?

14. Explica un caso real en el que hayas usado Figma para mejorar la comunicación entre diseño y desarrollo.

Ejemplo: en un proyecto de e-commerce, los diseñadores crearon un sistema de botones con estados hover/focus/disabled en Figma. Gracias al Dev Mode, los programadores copiaron directamente los estilos y propiedades, reduciendo errores y ahorrando tiempo en ajustes manuales.

15. ¿Qué limitaciones tiene Figma al generar código y cómo las resolverías en un flujo de trabajo profesional?

Limitaciones: el código generado desde Figma no siempre es limpio o escalable. Solución: usar la exportación solo como referencia visual y traducir manualmente a código optimizado (ej. React con Tailwind). En algunos casos, usar plugins que exporten tokens para mantener consistencia sin depender del código autogenerado.

🔼 temas