{"id":36835,"date":"2026-10-23T14:08:07","date_gmt":"2026-10-23T12:08:07","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=36835"},"modified":"2026-10-23T14:08:09","modified_gmt":"2026-10-23T12:08:09","slug":"la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/","title":{"rendered":"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En los \u00faltimos dos a\u00f1os, los asistentes de IA para programar se han colado en la vida de pr\u00e1cticamente todos nosotros. Incluso de quienes juraban que no los iban a usar nunca (hola, s\u00ed, yo tambi\u00e9n era de esos y he acabado convirti\u00e9ndome).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con HTML, CSS, JavaScript del de toda la vida y funciones puras funcionan de maravilla. Pero les das un componente de React con cinco hooks que se hablan entre s\u00ed, o un <code>computed()<\/code> de Vue conectado a un estado que se modifica tres archivos m\u00e1s all\u00e1, y de repente el asistente parece que se ha tomado dos copas de m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y no, no es una impresi\u00f3n sacada de una charla despu\u00e9s de un meetup. Hay una raz\u00f3n bastante concreta detr\u00e1s, y es la misma por la que estos frameworks tambi\u00e9n nos complican la vida a los humanos. La diferencia es que, con la experiencia, nosotros desarrollamos una especie de callo mental que nos ayuda a esquivar ciertas trampas. Los modelos no tienen ese callo, as\u00ed que caen en ellas con todo el entusiasmo del mundo.<\/p>\n\n\n\n<h2 id=\"h-el-problema-no-es-la-sintaxis-es-la-magia\" class=\"wp-block-heading\">El problema no es la sintaxis, es la magia<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los modelos de lenguaje generan c\u00f3digo prediciendo qu\u00e9 texto viene despu\u00e9s a partir de lo que tienen delante. Se les da bien cuando pueden deducir c\u00f3mo funciona algo mirando el propio c\u00f3digo: una funci\u00f3n pura se explica pr\u00e1cticamente sola. Miras lo que entra, lo que sale y listo. No hay misterio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema llega cuando el comportamiento depende de algo que no aparece por ninguna parte en el archivo que est\u00e1n leyendo en ese momento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo comod\u00edsimo mientras funciona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para un desarrollador con experiencia, esto puede ser una maravilla: escribes tres l\u00edneas y el grafo de actualizaciones se monta \u00e9l solito. Pero para un modelo que tiene que generar c\u00f3digo correcto sin poder ejecutar mentalmente ese grafo invisible, la cosa cambia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es como participar en una carrera de obst\u00e1culos a oscuras. Y sin que nadie te haya explicado d\u00f3nde est\u00e1n los obst\u00e1culos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1-1024x512.png\" alt=\"\" class=\"wp-image-36839\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1-1024x512.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1-300x150.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1-768x384.png 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1-1536x768.png 1536w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-1.png 1774w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Un ejemplo pr\u00e1ctico. En Vue 3, desestructurar un objeto reactivo puede cargarse la reactividad en silencio:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">const<\/span> state = reactive({ <span class=\"hljs-attr\">count<\/span>: <span class=\"hljs-number\">0<\/span> })\n\n<span class=\"hljs-comment\">\/\/ Deja de actualizarse. Sin errores, sin avisos. Silencio absoluto.<\/span>\n<span class=\"hljs-keyword\">const<\/span> { count } = state\n\n<span class=\"hljs-comment\">\/\/ Esto, en cambio, funciona perfectamente.<\/span>\n<span class=\"hljs-keyword\">const<\/span> count = computed(<span class=\"hljs-function\"><span class=\"hljs-params\">()<\/span> =&gt;<\/span> state.count)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Quien lleva un tiempo trabajando con Vue ya se lo sabe y lo evita casi por instinto. Pero un modelo que genera c\u00f3digo bas\u00e1ndose en patrones habituales de JavaScript, donde desestructurar un objeto es inofensivo en el 99 % de los casos, tiene muchas papeletas para caer en la trampa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y la misma pel\u00edcula se repite, con distintos protagonistas, en los arrays de dependencias de <code>useEffect<\/code> en React: te olvidas de una dependencia y aparece un bug silencioso; a\u00f1ades una de m\u00e1s y puedes acabar en un bucle infinito. O con el seguimiento autom\u00e1tico de dependencias de <code>computed()<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ampliando la familia: Solid y Angular<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A quien insiste en que \u00abbueno, los signals de Solid son solo un get\/set, tampoco es para tanto\u00bb le dir\u00eda que s\u00ed, siempre que est\u00e9s mirando un signal por separado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema empieza cuando los combinas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un <code>memo<\/code> o un <code>effect<\/code> en Solid registra en tiempo de ejecuci\u00f3n qu\u00e9 signals ha le\u00eddo durante su ejecuci\u00f3n, sin que tengas que declarar esas dependencias en ning\u00fan sitio. Es el mismo principio que el seguimiento autom\u00e1tico de Vue, solo que aplicado de otra manera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y cuando un signal activa otro, que a su vez dispara un efecto que modifica el primer signal, el grafo de propagaci\u00f3n no aparece escrito en ninguna parte del c\u00f3digo. Hay que reconstruirlo siguiendo las lecturas y escrituras que se producen en tiempo de ejecuci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para un modelo, es el mismo tipo de acertijo que en Vue, pero con otro disfraz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Angular, por completar la fiesta, consigue sufrir dos problemas a la vez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por un lado, tambi\u00e9n ha adoptado los signals al estilo de Solid, con el mismo seguimiento impl\u00edcito de dependencias. Por otro, sigue siendo Angular: decoradores, inyecci\u00f3n de dependencias, m\u00f3dulos y una cantidad de c\u00f3digo repetitivo que llamar \u00abgenerosa\u00bb ser\u00eda quedarse corto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed alguien dir\u00e1: \u00abPero si ahora las ventanas de contexto tienen cientos de miles de tokens, \u00bfqu\u00e9 m\u00e1s da que Angular sea verboso? \u00a1Si ya hay espacio de sobra!\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y s\u00ed, pero ese no es el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cuesti\u00f3n ya no es que se acabe la memoria, sino la relaci\u00f3n entre la informaci\u00f3n \u00fatil y el ruido. Doscientas l\u00edneas de c\u00f3digo repetitivo para decir \u00abeste componente recibe una entrada y expone una salida\u00bb son doscientas l\u00edneas en las que el modelo tiene que repartir su atenci\u00f3n. Y, mientras tanto, la l\u00f3gica de negocio que de verdad importa queda diluida entre decoradores, providers y configuraciones que se repiten una y otra vez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es el mismo fen\u00f3meno que se conoce como <em>lost in the middle<\/em>: cuanto m\u00e1s ruido rodea al detalle importante, m\u00e1s probabilidades hay de que ese detalle reciba menos atenci\u00f3n. No porque falte espacio, sino porque hay poca informaci\u00f3n \u00fatil por l\u00ednea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfEl resultado? M\u00e1s posibilidades de perder el hilo entre un decorador y otro, sobre todo cuando toca enfrentarse a archivos interminables.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 los est\u00e1ndares web salen mejor parados<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los asistentes de IA generan mejor c\u00f3digo con HTML, CSS y JavaScript sin demasiadas capas por exactamente el mismo motivo por el que sufren con los frameworks m\u00e1s \u00abm\u00e1gicos\u00bb: cuanto menos tengan que deducir para saber qu\u00e9 va a pasar, mejor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una funci\u00f3n que recibe un estado y devuelve uno nuevo es un libro abierto. Un manejador de eventos que hace exactamente lo que dice que hace, tambi\u00e9n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfUn sistema que rastrea dependencias escuchando qu\u00e9 variables se leen durante la ejecuci\u00f3n? Eso ya es otra historia.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"409\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2-1024x409.png\" alt=\"\" class=\"wp-image-36840\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2-1024x409.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2-300x120.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2-766x306.png 766w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2-1536x614.png 1536w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/Designer-2.png 1984w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Esto no es un ataque a los frameworks web, que quede claro. React, Vue, Svelte, Solid y Angular siguen siendo herramientas muy potentes, utilizadas con \u00e9xito a gran escala. Y nadie est\u00e1 proponiendo que volvamos a crear webs con <code>document.write<\/code>, tampoco nos vengamos arriba con la nostalgia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es m\u00e1s bien una reflexi\u00f3n sobre un equilibrio que hasta ahora hemos valorado casi siempre desde el punto de vista humano: cu\u00e1nto c\u00f3digo tengo que escribir, lo c\u00f3modo que resulta y lo r\u00e1pido que puedo trabajar. Pero hoy toca mirarlo tambi\u00e9n desde otra perspectiva: la de quienes cada vez m\u00e1s a menudo programamos en pareja con un modelo de IA o, directamente, le dejamos escribir el c\u00f3digo por nosotros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 significa todo esto en la pr\u00e1ctica<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Estas son algunas de las reglas que sigo cuando trabajo con un asistente de IA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuanto m\u00e1s oculta un framework qui\u00e9n tiene que actualizarse cuando algo cambia, m\u00e1s atenci\u00f3n hay que prestar al c\u00f3digo que genera la IA. Los hooks de React, los composables de Vue y las computaciones de Solid son el terreno perfecto para que se cuelen bugs sutiles. No porque la IA tenga malas intenciones, sino porque desconoce parte del contexto impl\u00edcito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El c\u00f3digo expl\u00edcito tambi\u00e9n es m\u00e1s f\u00e1cil de comprobar para un modelo, no solo para una persona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una buena prueba es pedirle a la IA que explique por qu\u00e9 un fragmento de c\u00f3digo hace lo que hace. Si para explicarlo tiene que adivinar comportamientos que no aparecen en el archivo que tienes delante, ah\u00ed hay un punto delicado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y no solo para la IA: tambi\u00e9n para ese compa\u00f1ero que abrir\u00e1 el archivo dentro de seis meses sin acordarse de nada de lo que ten\u00edais en la cabeza cuando lo escribisteis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algunos proyectos est\u00e1n apostando claramente por arquitecturas m\u00e1s expl\u00edcitas: estados como datos sencillos, renderizado mediante funciones puras y nada de proxies ni compiladores de por medio. El objetivo es que el c\u00f3digo sea f\u00e1cil de leer tanto para las personas como para las m\u00e1quinas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inglorious Web, el framework de c\u00f3digo abierto en el que trabajo, es uno de estos intentos, aunque ni mucho menos el \u00fanico. La misma filosof\u00eda lleva tiempo detr\u00e1s de librer\u00edas minimalistas como Alpine.js y de enfoques que ponen HTML en el centro, como htmx.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Que este camino acabe convirti\u00e9ndose en la norma o se quede en un nicho para quienes no quieren renunciar a lo sencillo est\u00e1 por ver. Pero s\u00ed es una se\u00f1al de hacia d\u00f3nde se est\u00e1 moviendo parte del debate sobre arquitectura frontend.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Una pregunta abierta (y cero cruzadas)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">No estoy diciendo que tengamos que volver todos al JavaScript vanilla escrito a mano como en 2010, con jQuery para rematar la jugada nost\u00e1lgica. Los frameworks con su buena dosis de magia ofrecen ventajas reales para la productividad humana que los est\u00e1ndares web, por s\u00ed solos, no pueden igualar f\u00e1cilmente. Y para muchos equipos, el trato sigue compensando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero quiz\u00e1 ha llegado el momento de hacernos una pregunta: cuando elegimos una arquitectura, \u00bfdeber\u00eda empezar a pesar tanto que el c\u00f3digo sea legible y predecible para un modelo como que resulte c\u00f3modo para un desarrollador con experiencia?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque en 2026 el c\u00f3digo ya no lo escribe siempre una \u00fanica persona que se conoce de memoria todas las trampas del framework. Cada vez m\u00e1s, nace del trabajo conjunto de una persona y un modelo de IA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y que el c\u00f3digo sea f\u00e1cil de entender para ambos deja de ser una man\u00eda estil\u00edstica para convertirse en una caracter\u00edstica de la propia arquitectura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La magia est\u00e1 muy bien, pero que luego no nos toque hacer de detectives.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En los \u00faltimos dos a\u00f1os, los asistentes de IA para programar se han colado en la vida de pr\u00e1cticamente todos nosotros. Incluso de quienes juraban que no los iban a usar nunca (hola, s\u00ed, yo tambi\u00e9n era de esos y he acabado convirti\u00e9ndome). Con HTML, CSS, JavaScript del de toda la vida y funciones puras&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/\">Read more<\/a><\/p>\n","protected":false},"author":354,"featured_media":36764,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10598],"tags":[10664],"collections":[13012],"class_list":["post-36835","post","type-post","status-publish","format-standard","has-post-thumbnail","category-inteligencia-artificial","tag-ia","collections-top-of-the-week-es","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>La IA se lleva genial con HTML, pero React ya es otra historia<\/title>\n<meta name=\"description\" content=\"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)\" \/>\n<meta property=\"og:description\" content=\"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-23T12:08:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T12:08:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matteo Antony Mistretta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matteo Antony Mistretta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/\"},\"author\":{\"name\":\"Matteo Antony Mistretta\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/9ceb36edf25963553ac911e3f926b1b9\"},\"headline\":\"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)\",\"datePublished\":\"2026-10-23T12:08:07+00:00\",\"dateModified\":\"2026-10-23T12:08:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/\"},\"wordCount\":1670,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cover-1.png\",\"keywords\":[\"IA\"],\"articleSection\":[\"Inteligencia Artificial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/\",\"name\":\"La IA se lleva genial con HTML, pero React ya es otra historia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cover-1.png\",\"datePublished\":\"2026-10-23T12:08:07+00:00\",\"dateModified\":\"2026-10-23T12:08:09+00:00\",\"description\":\"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cover-1.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cover-1.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inteligencia Artificial\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/inteligencia-artificial\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/9ceb36edf25963553ac911e3f926b1b9\",\"name\":\"Matteo Antony Mistretta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g\",\"caption\":\"Matteo Antony Mistretta\"},\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/matteo-antony-mistretta\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La IA se lleva genial con HTML, pero React ya es otra historia","description":"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/","og_locale":"en_US","og_type":"article","og_title":"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)","og_description":"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2026-10-23T12:08:07+00:00","article_modified_time":"2026-10-23T12:08:09+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png","type":"image\/png"}],"author":"Matteo Antony Mistretta","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Matteo Antony Mistretta","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/"},"author":{"name":"Matteo Antony Mistretta","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/9ceb36edf25963553ac911e3f926b1b9"},"headline":"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)","datePublished":"2026-10-23T12:08:07+00:00","dateModified":"2026-10-23T12:08:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/"},"wordCount":1670,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png","keywords":["IA"],"articleSection":["Inteligencia Artificial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/","name":"La IA se lleva genial con HTML, pero React ya es otra historia","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png","datePublished":"2026-10-23T12:08:07+00:00","dateModified":"2026-10-23T12:08:09+00:00","description":"En los \u00faltimos a\u00f1os, los frameworks web reactivos han ido todos en la misma direcci\u00f3n: m\u00e1s magia autom\u00e1tica y menos c\u00f3digo que escribir a mano. Todo muy c\u00f3modo mientras funciona.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/la-ia-se-lleva-genial-con-html-pero-react-ya-es-otra-historia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Inteligencia Artificial","item":"https:\/\/www.codemotion.com\/magazine\/es\/inteligencia-artificial\/"},{"@type":"ListItem","position":3,"name":"Por qu\u00e9 la IA odia los frameworks web modernos (y se lleva de maravilla con los est\u00e1ndares web)"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/9ceb36edf25963553ac911e3f926b1b9","name":"Matteo Antony Mistretta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5cb6a33a88238481b177c19bcab282e530b6e206d9efb690a4e9926702c44d1b?s=96&d=mm&r=g","caption":"Matteo Antony Mistretta"},"url":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-antony-mistretta\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-600x600.png","author_info":{"display_name":"Matteo Antony Mistretta","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-antony-mistretta\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png",1200,630,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-300x158.png",300,158,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-768x403.png",768,403,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-1024x538.png",1024,538,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png",1200,630,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1.png",1200,630,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/10\/cover-1-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"Matteo Antony Mistretta","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-antony-mistretta\/"},"uagb_comment_info":0,"uagb_excerpt":"En los \u00faltimos dos a\u00f1os, los asistentes de IA para programar se han colado en la vida de pr\u00e1cticamente todos nosotros. Incluso de quienes juraban que no los iban a usar nunca (hola, s\u00ed, yo tambi\u00e9n era de esos y he acabado convirti\u00e9ndome). Con HTML, CSS, JavaScript del de toda la vida y funciones puras&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/36835","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/354"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=36835"}],"version-history":[{"count":1,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/36835\/revisions"}],"predecessor-version":[{"id":36841,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/36835\/revisions\/36841"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/36764"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=36835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=36835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=36835"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=36835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}