Blog

  • Three.js Conf París: por qué voy y qué espero encontrar

    Three.js Conf París: por qué voy y qué espero encontrar

    El 10 y 11 de septiembre se celebra en París la primera conferencia oficial de Three.js. El venue es la Maison de la Chimie, en el séptimo arrondissement. Dos días de charlas, panels, bebidas y afterparty en un barco en el Sena. Tengo las entradas desde hace tiempo y el alojamiento en el centro reservado, de eso último se ha encargado mi mujer, que para estas cosas es bastante más previsora que yo.

    El cartel no es el de una conferencia cualquiera. Estará mrdoob, el creador de Three.js. Bruno Simon, el autor del curso que estoy haciendo ahora mismo. Patrick Heng, uno de los creative developers que más admiro por cómo integra el 3D como acento y no como protagonista. Y muchos más que irán confirmándose. No es un evento donde una figura lleva el peso, es una comunidad que se reúne en persona por primera vez.

    Hay otro detalle que dice mucho del ecosistema: el propio sitio web de la conferencia, threejs.paris, fue construido por David Ronai y Hervé Studio como un experimento en sí mismo. Cada visitante se convierte en una esfera 3D dentro de la escena. Ponentes y asistentes comparten el mismo espacio visual, sin jerarquías. Es una declaración de intenciones sobre qué tipo de comunidad es esta.

    Voy solo. Y en este tipo de eventos eso es una ventaja. Sin agenda compartida, libre para quedarme en las conversaciones que merezcan la pena.

    Lo que espero encontrar son perfiles híbridos. Gente que trabaja en la intersección entre el 3D y la web, que entiende los dos mundos y construye en ambos. Ese perfil existe pero no abunda, y los eventos generalistas no son donde se concentra. Una conferencia específica de Three.js es exactamente el sitio donde debería estar.

    Escribiré una segunda parte cuando vuelva.

  • Pasando a headless después de 15 años con WordPress

    Pasando a headless después de 15 años con WordPress

    Mi primera web era HTML puro. Cada etiqueta escrita a mano, cada layout calculado con tablas. Control total, cero abstracciones. Luego llegó Joomla, que resolvía cosas pero metía capas que no siempre quería. Cuando migré mis propios sitios a WordPress, lo hice porque tenía más sentido para lo que necesitaba, no porque fuera la moda del momento.

    Los sitios que migré eran zao3d.com, en aquel momento un portfolio de servicios 3D y tutoriales, la semilla de lo que hoy es la academia, y gpcstudio.es, que nació como excusa para dar un curso de Gestión de Portales de Comercio en Tau. El dominio original era gestionportalescomercio.com, que lo dice todo sobre cómo nombrabas las cosas en 2010. Con los años acabó siendo gpcstudio.es. Zao3D estaba en español, inglés y polaco. Las razones para el polaco las cuento en otra entrada.

    Eso fue alrededor de 2010. Y como suelo hacer cuando algo me convence, lo enseñé. Impartí un curso de WordPress mientras todavía lo estaba asimilando del todo. Siempre he aprendido mejor así, explicar algo te obliga a entenderlo de verdad.

    Quince años después sigo usando WordPress. Solo que ahora no toca el frontend.

    La decisión de montar javivega.com en headless no vino de una frustración concreta. Vino de querer recuperar algo: el control total sobre el HTML que llega al navegador. Con un stack clásico, WordPress, tema, builder, el resultado puede ser bueno, pero siempre hay una capa entre lo que quiero y lo que sale. El tema decide cosas. El builder decide otras. Con Next.js en el frontend y WordPress solo como CMS, el HTML es el que yo escribo.

    Hay otra razón. Three.js me obligó a volver a JavaScript en serio. Y cuando empiezas a entender JS de verdad, Next.js deja de parecer complicado. Las piezas encajan solas.

    El argumento que más peso tuvo al final fue práctico: si en algún momento quiero volver a WordPress clásico, no tengo que migrar nada. El contenido ya está en WordPress. Solo cambio el frontend. El 95% de mis clientes usan WordPress y eso no va a cambiar. No me interesa alejarme del ecosistema, me interesa usarlo de otra manera.

    javivega.com es donde pruebo eso. Sin cliente esperando, sin deadline. Solo a ver qué sale.

  • Three.js Journey desde Blender: notas de un alumno con 25 años de 3D

    Three.js Journey desde Blender: notas de un alumno con 25 años de 3D

    Llevaba tiempo sabiendo que Three.js existía. Lo había rondado, había visto demos, sabía vagamente para qué servía. Pero no me había sentado a aprenderlo en serio hasta ahora. El detonante fue javivega.com, necesitaba un sitio donde meter experimentos reales, y para eso necesitaba saber lo que hacía.

    El curso que elegí fue Three.js Journey de Bruno Simon. No es el único recurso disponible, pero sí el más completo y el mejor mantenido del ecosistema. Más de 93 horas de contenido, actualizado con cada versión relevante de Three.js.

    He acabado el capítulo 01 y llevo la mitad del capítulo 02, concretamente la lección de la Haunted House. Es un ejercicio muy divertido donde se aprenden muchos conceptos a la vez. La lección es bastante larga por eso mismo, pero no te sientes saturado en ningún momento. Es alucinante ver un proyecto de principio a fin de la mano de Bruno.

    Lo que más me ha sorprendido hasta ahora no es la dificultad sino lo contrario. Viniendo de Blender, el modelo mental encaja casi de inmediato. Cuando Bruno construye una escena en código y aparecen la cámara, los meshes, las geometrías, los materiales, es el Outliner de Blender escrito en JavaScript. Los mismos conceptos, la misma jerarquía, diferente sintaxis. Años trabajando en 3D resultan ser una ventaja inesperada.

    Eso no significa que todo sea trivial. JavaScript tiene sus propias reglas y el curso no las regala. Pero la parte 3D no es el obstáculo. El obstáculo, cuando aparece, es siempre el código.

    Seguiré publicando notas a medida que avance. La Haunted House no se termina sola.

  • Three.js y el círculo que se cierra después de 25 años

    Three.js y el círculo que se cierra después de 25 años

    A principios de los 2000 ya estaba intentando meter 3D en la web. La tecnología se llamaba Viewpoint Experience Technology, VET. Hicimos cosas interesantes en SC Estudio Digital, el estudio que cofundé con tres socios. Pero la barrera era insalvable: para ver cualquier cosa, el usuario tenía que instalar el plugin Viewpoint Media Player. En una época en la que los navegadores no se ponían de acuerdo ni en estándares básicos y Flash ya exigía su propio plugin, pedirle a alguien que instalara uno más era pedir demasiado. La tecnología era adelantada a su tiempo. Desapareció en silencio. Y yo seguí adelante.

    Escribí sobre aquella época en este post de Zao3D hace unos años, cuando otro intento de 3D en la web estaba dando que hablar. El patrón me resultaba familiar.

    Veinticinco años después estoy haciendo lo mismo, 3D en el navegador, excepto que ahora funciona. Sin plugin. Sin negociación. Solo JavaScript y WebGL, disponibles en cualquier navegador moderno sin instalar nada. Eso es Three.js.

    Lo que no esperaba era lo familiar que iba a resultar el modelo mental viniendo de Blender. Cuando miras una escena Three.js en código y ya conoces el Outliner de Blender, algo encaja de inmediato. Cámaras, escenas, meshes, geometrías, materiales: los mismos objetos, la misma jerarquía, diferente sintaxis. El conocimiento 3D se transfiere casi directamente. La brecha es JavaScript, no el 3D.

    Eso es también lo que hace que Three.js me resulte genuinamente interesante, más allá de lo técnico. Cierra un círculo que lleva 25 años abierto. Los dos mundos en los que he trabajado por separado, el 3D y la web, tienen por fin un punto de encuentro real. No un plugin, no un parche. Un estándar que funciona en todas partes.

    Eso es razón suficiente para tomárselo en serio.