{"id":74476,"date":"2020-09-11T21:43:20","date_gmt":"2020-09-11T21:43:20","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=74476"},"modified":"2020-09-11T21:43:20","modified_gmt":"2020-09-11T21:43:20","slug":"kotlin-multiplatform-mobile-ahora-es-alpha","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/es\/kotlin\/2020\/09\/kotlin-multiplatform-mobile-ahora-es-alpha\/","title":{"rendered":"Kotlin Multiplatform Mobile ahora es Alpha"},"content":{"rendered":"<p>Kotlin Multiplatform Mobile (KMM) es un SDK que le permite utilizar el mismo c\u00f3digo de l\u00f3gica empresarial tanto en aplicaciones iOS como Android. A partir de hoy, KMM ahora es Alpha, y puede comenzar a compartir la l\u00f3gica empresarial de sus aplicaciones m\u00f3viles con \u00e9l desde ya. Incluye el nuevo complemento KMM Plugin para Android Studio, que le permite escribir, ejecutar, testear y depurar c\u00f3digo compartido en el mismo IDE. \u00danase a grandes equipos como VMWare, Autodesk y Yandex que ya comparten c\u00f3digo en sus aplicaciones m\u00f3viles utilizando Kotlin. \u00a1Reutilizar c\u00f3digo entre plataformas m\u00f3viles nunca ha sido tan f\u00e1cil!<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/KMM_release_banners_blogpost.png\" alt=\"archivo\"><\/p>\n<h2>\u00bfQu\u00e9 es Kotlin Multiplatform Mobile?<\/h2>\n<p><strong>Kotlin Multiplatform Mobile<\/strong> (<strong>KMM<\/strong>) es un SDK para el desarrollo m\u00f3vil multiplataforma suministrado por JetBrains. Utiliza las <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/multiplatform.html\" target=\"_blank\" rel=\"noopener\">capacidades multiplataforma de Kotlin<\/a> e incluye varias herramientas y funcionalidades dise\u00f1adas para que la experiencia de crear aplicaciones m\u00f3viles multiplataforma sea todo lo agradable y eficiente posible de principio a fin. <\/p>\n<p>A menudo, las versiones para Android e iOS de una aplicaci\u00f3n tienen mucho en com\u00fan, pero tambi\u00e9n pueden diferir en gran medida (especialmente en cuanto a interfaz de usuario): desde variaciones sutiles en el desplazamiento a l\u00f3gicas de navegaci\u00f3n totalmente distintas. Al mismo tiempo, la l\u00f3gica empresarial de la aplicaci\u00f3n, que incluye funcionalidades como gesti\u00f3n de datos, anal\u00edticas y autenticaci\u00f3n, suele ser id\u00e9ntica. Por eso resulta natural compartir algunas partes de una aplicaci\u00f3n entre plataformas y mantener otras partes totalmente separadas.<\/p>\n<p>Con KMM, puede disfrutar de esta flexibilidad y mantener las ventajas de la programaci\u00f3n nativa. Utilice una base de c\u00f3digo \u00fanica para la l\u00f3gica empresarial de las aplicaciones de iOS y Android, y escriba c\u00f3digo espec\u00edfico de la plataforma solo cuando sea necesario, para implementar una interfaz nativa o al trabajar con API espec\u00edficas de la plataforma.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/08\/KMM-release-scheme_Blogpost.jpg\" alt=\"archivo\"><\/p>\n<p>KMM se integra a la perfecci\u00f3n con su proyecto m\u00f3vil. El c\u00f3digo compartido, escrito en Kotlin, se compila a c\u00f3digo de bytes de JVM con Kotlin\/JVM y a binarios nativos con Kotlin\/Native, de modo que puede utilizar sus m\u00f3dulos de l\u00f3gica empresarial de KMM como cualquier otra biblioteca m\u00f3vil normal.<\/p>\n<p>Compartir c\u00f3digo Kotlin entre plataformas m\u00f3viles ya ha ahorrado mucho tiempo y esfuerzo a muchas empresas. Le contamos algunas historias inspiradoras:<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/quizlet\" target=\"_blank\" rel=\"noopener\">Quizlet<\/a> migr\u00f3 su l\u00f3gica empresarial desde un enfoque compartido de JavaScript a KMM y mejor\u00f3 dr\u00e1sticamente el rendimiento tanto de sus aplicaciones Android como iOS.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/fastwork\" target=\"_blank\" rel=\"noopener\">Fastwork<\/a> introdujo KMM para las capas de dominio y datos de su aplicaci\u00f3n, para compartir su l\u00f3gica empresarial y servicio API entre plataformas m\u00f3viles, y mejor\u00f3 significativamente la productividad de su equipo.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/yandex\" target=\"_blank\" rel=\"noopener\">Yandex.Disk<\/a> comenz\u00f3 experimentando con la integraci\u00f3n de una peque\u00f1a funcionalidad y, cuando el experimento result\u00f3 ser exitoso, implementaron toda su l\u00f3gica de sincronizaci\u00f3n de datos en KMM.<\/li>\n<\/ul>\n<p>Los excelentes resultados logrados por estos y <a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/\" target=\"_blank\" rel=\"noopener\">muchos otros equipos<\/a> nos han inspirado en gran medida, y esperamos que sus historias le animen a comenzar a compartir c\u00f3digo entre plataformas m\u00f3viles con KMM.<\/p>\n<h2>Disfrute creando aplicaciones m\u00f3viles con KMM<\/h2>\n<p>KMM todav\u00eda es una novedad en el mundo del desarrollo m\u00f3vil, pero creemos que va a cambiar las reglas del juego. Por eso hemos asignado un equipo especial dentro de Kotlin que har\u00e1 avanzar a KMM y ofrecer\u00e1 la mejor experiencia de usuario para la creaci\u00f3n de aplicaciones m\u00f3viles multiplataforma con Kotlin.<\/p>\n<p>Como primer paso hacia este objetivo, hoy nos complace presentarle la primera vista previa del <strong><a href=\"https:\/\/plugins.jetbrains.com\/plugin\/14936-kotlin-multiplatform-mobile\" target=\"_blank\" rel=\"noopener\">complemento KMM para Android Studio<\/a><\/strong> junto con el nuevo <strong><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/\" target=\"_blank\" rel=\"noopener\">portal de desarrolladores KMM<\/a><\/strong>. <\/p>\n<p>\u00a1Comencemos nuestro viaje con KMM!<\/p>\n<h3>Trabaje en un entorno que le resulte familiar<\/h3>\n<p>Con el nuevo complemento para KMM, puede escribir, ejecutar, testear y depurar c\u00f3digo compartido en Android Studio, sin cambiar a otros IDE. Para instalarlo, seleccione <strong>Preferences<\/strong> | <strong>Plugins<\/strong>, busque el complemento <em>Kotlin Multiplatform Mobile<\/em> en <strong>Marketplace,<\/strong> y haga clic en el bot\u00f3n <strong>Install<\/strong>.<\/p>\n<h4>Configure una nueva aplicaci\u00f3n en unos pocos clics<\/h4>\n<p>Con el asistente <strong>New Kotlin Multiplatform Mobile Project<\/strong>, puede crear un proyecto de aplicaci\u00f3n m\u00f3vil listo para su ejecuci\u00f3n con una base de c\u00f3digo compartida en solo unos clics. Para ver c\u00f3mo funciona en ambas plataformas, solo tiene que seleccionar la configuraci\u00f3n de ejecuci\u00f3n que necesite y hacer clic en el bot\u00f3n <strong>Run<\/strong>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/kmm-wizard.png\" alt=\"archivo\"><\/p>\n<p>El proyecto generado contendr\u00e1 ejemplos de c\u00f3mo conectar con API espec\u00edficas de la plataforma y cobertura de pruebas b\u00e1sica. Puede utilizar este asistente para explorar las funcionalidades b\u00e1sicas de KMM o como herramienta de <i>scaffolding<\/i> para su nueva aplicaci\u00f3n de producci\u00f3n KMM. <\/p>\n<p>Siga <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/create-first-app.html\" target=\"_blank\" rel=\"noopener\">este tutorial<\/a> para instalar el complemento y crear su primera aplicaci\u00f3n multiplataforma con el asistente.<\/p>\n<h4>Agregue KMM a su proyecto existente en un solo paso<\/h4>\n<p>Tambi\u00e9n puede iniciar su viaje con KMM directamente desde su proyecto actual: el c\u00f3digo Kotlin compartido puede integrarse f\u00e1cilmente en su c\u00f3digo existente como cualquier otra dependencia normal. El asistente <strong>New Kotlin Multiplatform Mobile Module<em> <\/em><\/strong>le ayudar\u00e1 a a\u00f1adir un nuevo m\u00f3dulo KMM a su proyecto, para que pueda utilizar el c\u00f3digo que ya ha escrito en Kotlin y refactorizarlo para que sea compatible con iOS. <\/p>\n<p>Eche un vistazo a esta <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/integrate-in-existing-app.html\" target=\"_blank\" rel=\"noopener\">gu\u00eda para integrar KMM en proyectos existentes<\/a> para aprender a dise\u00f1ar la arquitectura de proyectos multiplataforma y organizar la migraci\u00f3n a ella.<\/p>\n<h4>Trabaje con ambas plataformas desde un solo IDE<\/h4>\n<p>Ya no tiene que cambiar de IDE y mantener Xcode en ejecuci\u00f3n para comprobar que su c\u00f3digo funciona correctamente en ambas plataformas m\u00f3viles. Con el nuevo complemento, obtendr\u00e1 integraci\u00f3n con su dispositivo iOS y simulador directamente en Android Studio. Esto le ofrece las funcionalidades siguientes:<\/p>\n<ul>\n<li><strong>Ejecutar y depurar la aplicaci\u00f3n iOS<\/strong> en el simulador o en un dispositivo con la configuraci\u00f3n de ejecuci\u00f3n predefinida.<\/li>\n<li><strong>Ejecutar y depurar pruebas comunes y espec\u00edficas de iOS<\/strong> en el simulador de iOS simplemente haciendo clic en el icono del medianil en un m\u00e9todo o clase de prueba.<\/li>\n<\/ul>\n<p>Tanto para la aplicaci\u00f3n como para las pruebas, puede establecer puntos de interrupci\u00f3n y depurar su c\u00f3digo en iOS.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/08\/kmm-ios-static-min.png\" data-gif-src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Kotlin\/kmm-ios-demo.gif\"><\/p>\n<h3>Int\u00e9grese con el ecosistema de iOS sin gastos extra<\/h3>\n<p>Como se ha mencionado anteriormente, KMM se integra a la perfecci\u00f3n con su proyecto m\u00f3vil. Para Android, puede utilizar Kotlin en cada parte de su proyecto. Al mismo tiempo, KMM ofrece s\u00f3lida integraci\u00f3n con el proceso de desarrollo de iOS, gracias a la  <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/objc_interop.html\" target=\"_blank\" rel=\"noopener\">interoperabilidad de Kotlin\/Native con Objective-C\/Swift<\/a>, la <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/cocoapods.html\" target=\"_blank\" rel=\"noopener\">integraci\u00f3n con el gestor de dependencias CocoaPods<\/a>, y la <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/connect-to-platform-specific-apis.html\" target=\"_blank\" rel=\"noopener\">capacidad de utilizar API espec\u00edficas de la plataforma<\/a> con el patr\u00f3n esperado\/real.<\/p>\n<h4>Disfrute trabajando con Kotlin desde c\u00f3digo Swift con Kotlin\/Native<\/h4>\n<p>Kotlin\/Native ofrece interoperabilidad bidireccional con Objective-C\/Swift. Los m\u00f3dulos de Kotlin pueden utilizarse por completo en Swift\/Objective-C. Puede utilizar marcos de trabajo Objective-C y bibliotecas en c\u00f3digo Kotlin, as\u00ed como bibliotecas Swift si su API se ha exportado a Objective-C con <code>@objc<\/code>.<\/p>\n<p>M\u00e1s informaci\u00f3n acerca de <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/objc_interop.html\" target=\"_blank\" rel=\"noopener\">la interoperabilidad de Kotlin\/Native con Swift\/Objective-C<\/a>.<\/p>\n<h4>Gestione dependencias de iOS con facilidad<\/h4>\n<p>Kotlin\/Native ofrece integraci\u00f3n con el gestor de dependencias CocoaPods. Puede a\u00f1adir dependencias en bibliotecas Pod almacenadas en el repositorio CocoaPods o localmente, y tambi\u00e9n puede utilizar proyectos multiplataforma con destinos nativos como dependencia de CocoaPods (Kotlin Pod). Gestione dependencias Pod directamente en Android Studio y disfrute de compatibilidad completa de codificaci\u00f3n, incluyendo destacado y finalizaci\u00f3n.<\/p>\n<p>Este es el aspecto habitual de la configuraci\u00f3n de biblioteca de KMM:<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\nkotlin {\n    android()\n    ios()\n\n    cocoapods {\n        summary = \"CocoaPods test library\"\n        homepage = \"https:\/\/github.com\/JetBrains\/kotlin\"\n        pod(\"AFNetworking\", \"~&gt; 4.0.0\")\n        podfile = project.file(\"..\/ios-app\/Podfile\")\n     }\n }\n<\/pre>\n<p>Conecte la biblioteca a su proyecto de iOS como Pod de Kotlin a\u00f1adiendo su nombre y ruta al <code>Podfile<\/code>:<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\nuse_frameworks!\n\ntarget 'ios-app' do\n    pod 'kotlin_library', :path =&gt; '..\/kotlin-library'\nend\n<\/pre>\n<p>M\u00e1s informaci\u00f3n acerca de la <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/cocoapods.html\" target=\"_blank\" rel=\"noopener\">integraci\u00f3n con CocoaPods<\/a>.<\/p>\n<h3>Aprenda a crear mejores aplicaciones m\u00f3viles multiplataforma en el nuevo portal de desarrolladores<\/h3>\n<p>El nuevo portal de desarrolladores KMM est\u00e1 dise\u00f1ado para que su trabajo sea m\u00e1s c\u00f3modo y productivo, desde su primera experiencia con KMM hasta su uso en la producci\u00f3n.<\/p>\n<p>La <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/\" target=\"_blank\" rel=\"noopener\">secci\u00f3n de documentaci\u00f3n<\/a> es su recurso de confianza cuando trabaja con KMM. Encontrar\u00e1 contenido para todos los niveles de conocimientos, desde <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/getting-started.html\" target=\"_blank\" rel=\"noopener\">tutoriales para que comience<\/a> a temas de desarrollo m\u00e1s avanzados. Contiene informaci\u00f3n \u00fatil sobre tareas comunes, como organizar capas de <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/use-ktor-for-networking.html\" target=\"_blank\" rel=\"noopener\">redes<\/a> y <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/configure-sqldelight-for-data-storage.html\" target=\"_blank\" rel=\"noopener\">almacenamiento de datos<\/a> e incluso <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/organize-process-around-kmm.html\" target=\"_blank\" rel=\"noopener\">organizar el proceso de desarrollo en torno a KMM<\/a>.<\/p>\n<p>\u00bfBusca nuevas ideas sobre las ventajas de utilizar KMM en su aplicaci\u00f3n? Aprenda de la experiencia de primera mano de diversos equipos que ya utilizan KMM en sus productos en la secci\u00f3n de <a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\" target=\"_blank\" rel=\"noopener\">casos reales<\/a>.<\/p>\n<h2>El poder de la comunidad<\/h2>\n<p>Estamos en deuda con las siguientes empresas y desarrolladores independientes que, con su tiempo, conocimiento y experiencia, han realizado una contribuci\u00f3n esencial para esta versi\u00f3n: <a href=\"https:\/\/github.com\/kpgalligan\" target=\"_blank\" rel=\"noopener\">Kevin Galligan<\/a>, <a href=\"https:\/\/github.com\/AlecStrong\" target=\"_blank\" rel=\"noopener\">Alec Strong<\/a>, <a href=\"https:\/\/github.com\/arkivanov\" target=\"_blank\" rel=\"noopener\">Arkadii Ivanov<\/a>, <a href=\"https:\/\/github.com\/benasher44\" target=\"_blank\" rel=\"noopener\">Ben Asher<\/a>, <a href=\"https:\/\/github.com\/joreilly\" target=\"_blank\" rel=\"noopener\">John O\u2019Reilly<\/a>, <a href=\"https:\/\/github.com\/LouisCAD\" target=\"_blank\" rel=\"noopener\">Louis CAD<\/a>, <a href=\"https:\/\/github.com\/wongk\" target=\"_blank\" rel=\"noopener\">Kris Wong<\/a>, <a href=\"https:\/\/github.com\/Alex009\" target=\"_blank\" rel=\"noopener\">Aleksey Mikhailov<\/a> y muchos otros ingenieros incre\u00edbles. \u00a1Gracias por notificar incidencias en YouTrack, participar en la investigaci\u00f3n de productos y en las encuestas, compartir historias sobre su experiencia utilizando KMM y crear incre\u00edbles bibliotecas multiplataforma!<\/p>\n<p>Tambi\u00e9n queremos agradecer a los equipos que nos ayudaron a crear contenido para el nuevo portal de desarrolladores: <a href=\"https:\/\/touchlab.co\/\" target=\"_blank\" rel=\"noopener\">Touchlab<\/a>, <a href=\"http:\/\/icerockdev.com\/\" target=\"_blank\" rel=\"noopener\">IceRock<\/a> y <a href=\"https:\/\/kodein.net\/\" target=\"_blank\" rel=\"noopener\">Kodein Koders<\/a>. Su trabajo ayudar\u00e1 a miles de desarrolladores a profundizar en Kotlin Multiplatform Mobile y aprovechar todo su potencial.<\/p>\n<p>\u00a1Sois los mejores, chicos!<\/p>\n<h2>Pruebe ahora<\/h2>\n<p>Con todas estas geniales funcionalidades, nos complace anunciar que <strong><a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/kmm-evolution.html\" target=\"_blank\" rel=\"noopener\">KMM ahora est\u00e1 en Alpha<\/a><\/strong>. Esto significa que el equipo de Kotlin est\u00e1 totalmente comprometido con mejorar esta tecnolog\u00eda y contribuir a su evoluci\u00f3n. Tambi\u00e9n es se\u00f1al de que el producto se desarrolla r\u00e1pidamente. Escucharemos sus comentarios y ofreceremos soluciones y mejoras lo antes posible. Ay\u00fadenos a mejorar la estabilidad de KMM informando de cualquier incidencia que encuentre a trav\u00e9s de nuestro <a href=\"http:\/\/kotl.in\/issue\" target=\"_blank\" rel=\"noopener\">sistema de seguimiento de incidencias<\/a>.<\/p>\n<p>Pasarse a Alpha significa que todo est\u00e1 listo para que comience a utilizar KMM para compartir c\u00f3digo de l\u00f3gica empresarial entre plataformas m\u00f3viles. Puede crear un proyecto nuevo integrar f\u00e1cilmente un m\u00f3dulo KMM en los existentes. En ambos casos, el trabajo puede realizarse con un coste m\u00ednimo y siempre puede volver a un desarrollo completamente nativo. La comunidad crece con rapidez, y usted puede influir en el desarrollo de todo el ecosistema participando en \u00e9l.<\/p>\n<p>As\u00ed que \u00a1ahora es un gran momento para <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/getting-started.html\" target=\"_blank\" rel=\"noopener\">comenzar a usar KMM!<\/a><\/p>\n<p>Para disfrutar al m\u00e1ximo de la profundizaci\u00f3n en KMM y para hablar de todas las funcionalidades que desea explorar, \u00fanase a la comunidad de entusiastas de la multiplataforma en <a href=\"https:\/\/kotlinlang.slack.com\/archives\/C3PQML5NU\" target=\"_blank\" rel=\"noopener\">Slack<\/a> (obtenga su invitaci\u00f3n <a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>) y suscr\u00edbase a la etiqueta \u201ckotlin-multiplatform\u201d en <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/kotlin-multiplatform\" target=\"_blank\" rel=\"noopener\">Stack Overflow<\/a>.<\/p>\n<p>Aunque hacemos todo lo que est\u00e1 en nuestra mano, no podemos garantizar una migraci\u00f3n perfecta ahora mismo. Sin embargo, intentaremos evitar problemas de compatibilidad en la medida de lo posible utilizando marcadores de funcionalidades y ofreciendo <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/migrating-multiplatform-project-to-14.html\" target=\"_blank\" rel=\"noopener\">gu\u00edas de migraci\u00f3n<\/a> para nuevas versiones.<\/p>\n<h3>Env\u00edenos sus comentarios<\/h3>\n<p>Esta versi\u00f3n solo es el principio del viaje, pero necesitamos su ayuda durante todo el camino. Estamos deseando <a href=\"mailto:kmm.feedback@kotlinlang.org\">recibir sus comentarios<\/a>, tanto los positivos como los negativos. Inspire a otros compa\u00f1eros compartiendo sus historias sobre c\u00f3mo usa Kotlin Multiplatform Mobile, y no dude en compartir cualquier idea sobre c\u00f3mo podemos mejorar KMM.<\/p>\n<p>\u00a1Adelante con Kotlin!<\/p>\n","protected":false},"author":1086,"featured_media":71625,"comment_status":"closed","ping_status":"closed","template":"","categories":[956,907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/kotlin\/74476"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/comments?post=74476"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/kotlin\/74476\/revisions"}],"predecessor-version":[{"id":74477,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/kotlin\/74476\/revisions\/74477"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/media\/71625"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/media?parent=74476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/categories?post=74476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/tags?post=74476"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/cross-post-tag?post=74476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}