{"id":35747,"date":"2025-12-22T15:35:22","date_gmt":"2025-12-22T18:35:22","guid":{"rendered":"https:\/\/building.nubank.com\/?p=35747"},"modified":"2025-12-22T15:36:55","modified_gmt":"2025-12-22T18:36:55","slug":"12-anos-de-component-una-decada-de-desarrollo-interactivo","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/","title":{"rendered":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hace poco m\u00e1s de un mes, la oficina de Nubank en Vila Leopoldina, S\u00e3o Paulo, se convirti\u00f3 en el punto de encuentro para la comunidad Clojure de toda Sudam\u00e9rica y otras regiones. La segunda edici\u00f3n de Clojure South reuni\u00f3 a m\u00e1s de 200 desarrolladores, investigadores y entusiastas del lenguaje durante dos d\u00edas de intercambio de conocimientos, networking y celebraci\u00f3n de la programaci\u00f3n funcional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El evento reforz\u00f3 el papel de Brasil como uno de los centros m\u00e1s vibrantes para la comunidad Clojure, y el rol de Nubank como un punto focal activo para las comunidades tecnol\u00f3gicas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fue en este ambiente de entusiasmo compartido que Alessandra Sierra, Principal Software Engineer en Nubank, inaugur\u00f3 la conferencia con su charla \u201c12 Years of Component\u201d (12 a\u00f1os de Component). En ella, reflexion\u00f3 no solo sobre la historia de una de las librer\u00edas m\u00e1s influyentes de Clojure, sino tambi\u00e9n sobre su experiencia personal ayudando a definir la forma en que miles de desarrolladores trabajan hoy en d\u00eda.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Donde comenz\u00f3 el viaje<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La historia de Alessandra se remonta a 2007, cuando asisti\u00f3 a un meetup en la ciudad de Nueva York donde Rich Hickey present\u00f3 Clojure p\u00fablicamente por primera vez. Sali\u00f3 de esa sesi\u00f3n impresionada, ya que Clojure tra\u00eda el poder de un REPL (Read-Eval-Print Loop) interactivo al ecosistema de la JVM, permitiendo a los desarrolladores inspeccionar y modificar programas en ejecuci\u00f3n y recibir retroalimentaci\u00f3n inmediata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sierra se convirti\u00f3 en una de las primeras en adoptar Clojure para el trabajo profesional y realiz\u00f3 contribuciones tempranas significativas a su librer\u00eda est\u00e1ndar. Pocos a\u00f1os despu\u00e9s, esto la llev\u00f3 a unirse a Relevance (m\u00e1s tarde rebautizada como Cognitect), la cual fue <a href=\"https:\/\/building.nubank.com\/es\/nubank-acquires-us-company-cognitect-the-team-behind-clojure-and-datomic\/\">adquirida por Nubank en 2020.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El poder del REPL y la frustraci\u00f3n de las interrupciones<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Como consultora en Cognitect, trabajando con equipos que adoptaban Clojure para aplicaciones del mundo real, Sierra not\u00f3 un patr\u00f3n recurrente: el REPL otorgaba a los desarrolladores enormes ventajas en retroalimentaci\u00f3n y velocidad, pero muchas estructuras de aplicaciones hac\u00edan que esa experiencia fuera m\u00e1s dif\u00edcil de lo necesario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A principios de la d\u00e9cada de 2010, el desarrollo web en Clojure sol\u00eda centrarse en Ring: simple y elegante, pero con sus desventajas. Ejecutar un servidor Jetty desde el REPL pod\u00eda bloquear el hilo principal, y recargar el c\u00f3digo a menudo dejaba definiciones obsoletas en la memoria. Reiniciar el REPL se volvi\u00f3 algo rutinario y frustrante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sierra quer\u00eda que los desarrolladores mantuvieran el flujo del desarrollo interactivo incluso en sistemas con estado y complejidad. La pregunta central era simple pero fundamental: \u00bfC\u00f3mo puede un sistema seguir funcionando mientras el desarrollador contin\u00faa evolucion\u00e1ndolo?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El nacimiento de Component<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de aceptar la fricci\u00f3n causada por reiniciar el REPL cada vez que el c\u00f3digo cambiaba, Sierra dedic\u00f3 los a\u00f1os siguientes a dise\u00f1ar una nueva disciplina: un flujo de trabajo que eventualmente se conocer\u00eda como el Reloaded Workflow, nombrado as\u00ed por su popular art\u00edculo de blog <a href=\"https:\/\/www.cognitect.com\/blog\/2013\/06\/04\/clojure-workflow-reloaded\">\u201cMy Clojure Workflow, Reloaded\u201d.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El objetivo era directo pero transformador: los desarrolladores deb\u00edan poder evolucionar un sistema en ejecuci\u00f3n de forma segura, consistente y sin perder el contexto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este enfoque combin\u00f3 la librer\u00eda <a href=\"https:\/\/github.com\/clojure\/tools.namespace\">tools.namespace<\/a> con <a href=\"https:\/\/github.com\/stuartsierra\/component\">Component<\/a>, junto con pr\u00e1cticas de dise\u00f1o que fomentaban las dependencias expl\u00edcitas, minimizaban el estado global y separaban la l\u00f3gica pura de los l\u00edmites con estado. El resultado fue una experiencia de desarrollo centrada en el REPL, donde las aplicaciones pod\u00edan iniciarse, detenerse, actualizarse e inspeccionarse en tiempo real, sin romper el flujo de trabajo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Component ofreci\u00f3 una forma ligera de modelar sistemas como partes independientes con ciclos de vida claros, sin sacrificar el dise\u00f1o funcional. Su peque\u00f1a superficie de API y su estabilidad a largo plazo fueron intencionales: los cambios se introdujeron de manera lenta y deliberada, ayudando a que la librer\u00eda permaneciera simple, accesible y duradera.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un impacto duradero<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Doce a\u00f1os despu\u00e9s de su lanzamiento, Component sigue siendo una de las librer\u00edas m\u00e1s influyentes en el ecosistema Clojure. Ha sido referenciada m\u00e1s de 13,000 veces en el c\u00f3digo fuente de producci\u00f3n de Nubank, sigue dando forma a extensiones y forks, e incluso ha inspirado adaptaciones a otros lenguajes; un nivel de longevidad que rara vez alcanzan herramientas con una huella tan m\u00ednima.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sierra cerr\u00f3 su charla reconociendo lo afortunada que fue al estar en el lugar correcto, en el momento adecuado y con el trabajo indicado mientras Clojure emerg\u00eda. Ese tipo de sincron\u00eda no se puede planificar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, su consejo para quienes comienzan con Clojure o en el mundo del c\u00f3digo abierto fue universal:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>\u201cTrabaja en cualquier cosa que te resulte interesante. Encuentra un patr\u00f3n que sea \u00fatil, construye herramientas que ayuden a otros a beneficiarse de \u00e9l. Pero, sobre todo, simplemente divi\u00e9rtete, porque eso es lo \u00fanico que puedes elegir\u201d<\/em><\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/5-r4X9WUg58?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=es-ES&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure<\/p>\n","protected":false},"author":178110103,"featured_media":35737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2499,2589],"tags":[],"ppma_author":[2321],"class_list":["post-35747","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-es","category-software-engineering-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank<\/title>\n<meta name=\"description\" content=\"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-22T18:35:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T18:36:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309-1024x683.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo\",\"datePublished\":\"2025-12-22T18:35:22+00:00\",\"dateModified\":\"2025-12-22T18:36:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/\"},\"wordCount\":859,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Nubank-309.jpg?fit=3120%2C2080&ssl=1\",\"articleSection\":[\"Engineering\",\"Software Engineering\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/\",\"name\":\"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Nubank-309.jpg?fit=3120%2C2080&ssl=1\",\"datePublished\":\"2025-12-22T18:35:22+00:00\",\"dateModified\":\"2025-12-22T18:36:55+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Nubank-309.jpg?fit=3120%2C2080&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Nubank-309.jpg?fit=3120%2C2080&ssl=1\",\"width\":3120,\"height\":2080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/12-anos-de-component-una-decada-de-desarrollo-interactivo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank","description":"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure","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:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/","og_locale":"es_ES","og_type":"article","og_title":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank","og_description":"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure","og_url":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/","og_site_name":"Building Nubank","article_published_time":"2025-12-22T18:35:22+00:00","article_modified_time":"2025-12-22T18:36:55+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309-1024x683.jpg","type":"image\/jpeg"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo","datePublished":"2025-12-22T18:35:22+00:00","dateModified":"2025-12-22T18:36:55+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/"},"wordCount":859,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309.jpg?fit=3120%2C2080&ssl=1","articleSection":["Engineering","Software Engineering"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/","url":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/","name":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309.jpg?fit=3120%2C2080&ssl=1","datePublished":"2025-12-22T18:35:22+00:00","dateModified":"2025-12-22T18:36:55+00:00","author":{"@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"C\u00f3mo una peque\u00f1a idea sobre estado, ciclos de vida y el REPL se convirti\u00f3 en uno de los patrones m\u00e1s influyentes de Clojure","breadcrumb":{"@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309.jpg?fit=3120%2C2080&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309.jpg?fit=3120%2C2080&ssl=1","width":3120,"height":2080},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/es\/12-anos-de-component-una-decada-de-desarrollo-interactivo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/es\/"},{"@type":"ListItem","position":2,"name":"12 a\u00f1os de Component: Una d\u00e9cada de desarrollo interactivo"}]},{"@type":"WebSite","@id":"https:\/\/building.nubank.com\/es\/#website","url":"https:\/\/building.nubank.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nubank.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nubank.com\/es\/author\/editorial\/"}]}},"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-9iz","jetpack_sharing_enabled":true,"authors":[{"term_id":2321,"user_id":178110103,"is_guest":0,"slug":"editorial","display_name":"Nubank Editorial","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/12\/Nubank-309.jpg?fit=3120%2C2080&ssl=1","_links":{"self":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/35747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/users\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/comments?post=35747"}],"version-history":[{"count":2,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/35747\/revisions"}],"predecessor-version":[{"id":35750,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/35747\/revisions\/35750"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media\/35737"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media?parent=35747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/categories?post=35747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/tags?post=35747"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/ppma_author?post=35747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}