{"id":22360,"date":"2023-08-03T14:37:25","date_gmt":"2023-08-03T12:37:25","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=22360"},"modified":"2023-08-31T15:57:11","modified_gmt":"2023-08-31T13:57:11","slug":"una-introduccion-completa-a-kotlin","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/","title":{"rendered":"Una introducci\u00f3n completa a Kotlin"},"content":{"rendered":"\n<p><strong>Kotlin es la primera opci\u00f3n para el desarrollo de Android<\/strong>, pero no se limita \u00fanicamente a Android. \u00a1No te pierdas esta introducci\u00f3n a Kotlin!<\/p>\n\n\n\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-01a1f997      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tTable Of Contents\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#es-kotlin-solo-para-el-desarrollo-de-android\" class=\"uagb-toc-link__trigger\">\u00bfEs Kotlin solo para el desarrollo de Android?<\/a><li class=\"uagb-toc__list\"><a href=\"#principales-caracter\u00edsticas\" class=\"uagb-toc-link__trigger\">Principales caracter\u00edsticas<\/a><li class=\"uagb-toc__list\"><a href=\"#por-qu\u00e9-y-cu\u00e1ndo-elegir-kotlin\" class=\"uagb-toc-link__trigger\">Por qu\u00e9 y cu\u00e1ndo elegir Kotlin<\/a><li class=\"uagb-toc__list\"><a href=\"#conclusiones-m\u00e1s-que-solo-android\" class=\"uagb-toc-link__trigger\">Conclusiones: M\u00e1s que solo Android<\/a><li class=\"uagb-toc__list\"><a href=\"#\u00fanete-a-nuestra-comunidad\" class=\"uagb-toc-link__trigger\">\u00danete a nuestra comunidad<\/a><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<p>\u00bfC\u00f3mo funciona Kotlin? \u00bfAlguna vez te has enfocado en este lenguaje espec\u00edfico? En realidad, no se ha hablado mucho de Kotlin durante mucho tiempo, y de hecho, es un lenguaje de programaci\u00f3n que se ha hecho famoso en tiempos relativamente recientes: seg\u00fan Google Trends, solo desde 2017 ha adquirido cierta relevancia en las b\u00fasquedas de los usuarios.<\/p>\n\n\n\n<p>Sin embargo, no es tan nuevo: el primer anuncio de JetBrains data de 2010. \u00bfQu\u00e9 sucedi\u00f3 entonces, en 2017 o poco antes, que lo hizo popular?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-es-kotlin-solo-para-el-desarrollo-de-android\">\u00bfEs Kotlin solo para el desarrollo de Android?<\/h2>\n\n\n\n<p>Un evento que, hasta la fecha, tambi\u00e9n ha sido la causa de uno de los principales malentendidos relacionados con el lenguaje: el respaldo de Google y la elecci\u00f3n de considerarlo la primera opci\u00f3n para el desarrollo de Android, en detrimento de Java.<\/p>\n\n\n\n<p>Desde entonces, Kotlin ha experimentado un aumento en popularidad, obviamente en el ecosistema de Android, pero tambi\u00e9n se ha encasillado en cierta medida como &#8220;<strong>el lenguaje de Android&#8221;<\/strong>: el autor ha trabajado con Kotlin durante a\u00f1os y es el mantenedor de la librer\u00eda de mocking de c\u00f3digo abierto m\u00e1s adoptada en Kotlin<a href=\"https:\/\/github.com\/mockk\/mockk\/\" class=\"ek-link\"> (https:\/\/github.com\/mockk\/mockk\/)<\/a>, y solo por haber escrito &#8220;Kotlin&#8221; en su CV, ha sido contactado varias veces para puestos de desarrollador de Android, a pesar de no saber absolutamente nada sobre este ecosistema.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center\">Vamos a aclarar esto de una vez por todas: Kotlin es la primera y, de hecho, la \u00fanica opci\u00f3n para el desarrollo de Android, pero no es un lenguaje que solo sirva para Android, al contrario.<\/p>\n<\/blockquote>\n\n\n\n<p>Vamos a aclarar esto de una vez por todas: <strong>Kotlin es la primera y, de hecho, la \u00fanica opci\u00f3n para el desarrollo de Android<\/strong>, pero no es un lenguaje que solo sirva para Android, al contrario.<\/p>\n\n\n<div class=\"gb-container gb-container-73272433\">\n\n<p>Pero entonces, \u00bfc\u00f3mo funciona Kotlin? Bueno, este es, m\u00e1s que muchos otros, un lenguaje de prop\u00f3sito general: no solo es utilizable en todos los contextos donde se puede usar Java, es decir, en toda la programaci\u00f3n backend, sino que tambi\u00e9n es muy <strong>adecuado para el desarrollo totalmente multiplataforma<\/strong>, similar a herramientas como <a href=\"https:\/\/www.codemotion.com\/magazine\/es\/frontend-es\/desarrollo-web\/a-fondo-con-flutter-en-la-web\/\" class=\"ek-link\">Flutter<\/a>, que te permiten escribir el c\u00f3digo una vez y compilarlo para diferentes plataformas como Android, iOS y aplicaciones de escritorio.<\/p>\n\n<\/div>\n\n\n<p>Pero eso no es todo: <strong>tambi\u00e9n es un excelente lenguaje para ciencia de datos<\/strong>, lo que permite una transici\u00f3n desde el desarrollo hasta el lanzamiento en producci\u00f3n m\u00e1s sencilla que <a href=\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/python-el-lenguaje-versatil-de-programacion-que-cautiva-a-todos\/\" class=\"ek-link\">Python<\/a> o R, y permite compilar el c\u00f3digo incluso para objetivos como WASM y <a href=\"https:\/\/www.codemotion.com\/magazine\/es\/frontend-es\/javascript-es\/las-preguntas-mas-comunes-sobre-javascript-una-guia-completa\/\" class=\"ek-link\">JavaScript<\/a> para el desarrollo web.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"796\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/05\/iStock-1010016042-1024x796.jpg\" alt=\"Android App Development Languages: all you need to know. Introduction to Kotlin.\" class=\"wp-image-20789\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/05\/iStock-1010016042-1024x796.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/05\/iStock-1010016042-300x233.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/05\/iStock-1010016042-768x597.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/05\/iStock-1010016042.jpg 1161w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Kotlin es el lenguaje predilecto para el desarrollo de Android.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-principales-caracteristicas\">Principales caracter\u00edsticas<\/h2>\n\n\n\n<p>Pero \u00bfcu\u00e1les son las principales caracter\u00edsticas del lenguaje Kotlin y c\u00f3mo funciona? \u00bfEs un lenguaje solo para expertos o tambi\u00e9n es adecuado para desarrolladores principiantes?<\/p>\n\n\n\n<p>En primer lugar, debido a su naturaleza orientada al JVM y su historia, Kotlin es un lenguaje que los desarrolladores de Java encontrar\u00e1n muy f\u00e1cil de aprender: si tienes algo de experiencia con Java, puedes esperar ser perfectamente productivo en Kotlin en un par de semanas.<\/p>\n\n\n\n<p>Y sinceramente, no hay raz\u00f3n para no hacerlo, ya que Java y Kotlin son perfectamente interoperables: el c\u00f3digo Java puede invocar c\u00f3digo Kotlin y viceversa sin ning\u00fan problema, y <strong>los proyectos Java existentes pueden integrar partes escritas en Kotlin sin esfuerzo<\/strong>, tanto es as\u00ed que es una pr\u00e1ctica bastante com\u00fan en diversas empresas escribir directamente en Kotlin las nuevas partes de aplicaciones Java.<\/p>\n\n\n\n<p>\u00bfQui\u00e9n lo obliga? \u00bfPor qu\u00e9 no seguir usando Java, que despu\u00e9s de todo ha estado haciendo su trabajo sucio durante a\u00f1os?<\/p>\n\n\n\n<p>Kotlin en realidad tiene muchas caracter\u00edsticas que todos los desarrolladores de Java siempre han deseado tener, sobre todo la que resuelve el famoso &#8220;error de mil millones de d\u00f3lares&#8221;: en Kotlin, de hecho, todas las variables son no nulas de forma predeterminada y los riesgos del temido NullPointerException se reducen en gran medida en tiempo de compilaci\u00f3n, porque un trozo de c\u00f3digo que accede a una variable nula se identifica de inmediato por el compilador y no durante la ejecuci\u00f3n.<\/p>\n\n\n\n<p>Pero eso no es todo, porque Kotlin tambi\u00e9n tiene muchas caracter\u00edsticas, como clases de datos, funciones de extensi\u00f3n y expresiones lambda, que hacen que sea hasta un 40% m\u00e1s conciso, y por lo tanto m\u00e1s legible, que Java: una de las cr\u00edticas m\u00e1s famosas de Java es su verbosidad y la enorme cantidad de l\u00edneas de c\u00f3digo que requiere para las tareas m\u00e1s triviales, Kotlin hace lo contrario y permite a los desarrolladores escribir solo el c\u00f3digo realmente necesario para resolver problemas, no el c\u00f3digo innecesario.<\/p>\n\n\n\n<p>Y no ha terminado: si has desarrollado aplicaciones no triviales en Java, seguramente sabr\u00e1s lo complicado que es manejar la programaci\u00f3n as\u00edncrona y el multihilo; y si este es tu caso, te encantar\u00e1n las corrutinas y las herramientas que Kotlin ofrece para la programaci\u00f3n as\u00edncrona, desde funciones suspendidas hasta objetos evolucionados como flow y channel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-por-que-y-cuando-elegir-kotlin\">Por qu\u00e9 y cu\u00e1ndo elegir Kotlin<\/h2>\n\n\n\n<p>\u00bfEs eso todo? (Solo digo) \u00bfPor qu\u00e9 elegir Kotlin y no uno de los otros lenguajes interoperables con Java, entonces?<\/p>\n\n\n\n<p>Ya hemos hablado de algunas \u00e1reas de uso, como la ciencia de datos y la programaci\u00f3n multiplataforma, donde<strong> Kotlin es claramente una mejor opci\u00f3n que otros lenguajes basados en JVM como Scala, Groovy o Clojure<\/strong>, pero hay otro detalle que lo hace superior a estos \u00faltimos: la adopci\u00f3n.<\/p>\n\n\n\n<p>Cuando se trata de una herramienta como un lenguaje de programaci\u00f3n, tener una masa cr\u00edtica de usuarios que lo utilicen es fundamental, pero la cantidad no es suficiente: tambi\u00e9n es importante contar con el apoyo de actores importantes que act\u00faen de alguna manera como garantes de la calidad de la herramienta. Despu\u00e9s de todo, \u00bfqu\u00e9 ser\u00eda de un marco como React sin el apoyo de Meta?<\/p>\n\n\n\n<p>Bueno, en este sentido, Kotlin puede contar al menos con dos autoridades muy respetables: en primer lugar, como ya hemos mencionado, Google apoya firmemente a Kotlin, pero tampoco debemos olvidar que es un lenguaje nacido dentro de una empresa, JetBrains, cuyo negocio principal es producir IDEs, por lo que el soporte para las herramientas de Kotlin es absolutamente excelente, y IntelliJ ofrece una gran ayuda a los desarrolladores, lo que hace que la experiencia de desarrollo sea extremadamente ergon\u00f3mica y sencilla.<\/p>\n\n\n\n<p><strong>Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains<\/strong>. Es un lenguaje orientado a objetos con tipado est\u00e1tico, y puede compilarse para la M\u00e1quina Virtual de Java (JVM), para JavaScript y para Native (nativo).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusiones-mas-que-solo-android\">Conclusiones: M\u00e1s que solo Android<\/h2>\n\n\n\n<p>Entonces: Kotlin es un lenguaje extremadamente eficiente, utilizado en muchas empresas, incluso bastante importantes, y garantiza posibilidades de empleo en muchos campos diferentes, desde aquellos que eran la prerrogativa de Java y sus derivados, <strong>hasta aplicaciones m\u00f3viles y ciencia de datos.<\/strong> Pero, \u00bfes un lenguaje f\u00e1cil de aprender? \u00bfEs una buena elecci\u00f3n como primer lenguaje de programaci\u00f3n, o es mejor orientarse hacia opciones aparentemente m\u00e1s simples, como PHP o JavaScript?<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>La respuesta, como en todas las preguntas importantes, obviamente es &#8220;depende&#8221;, pero sentimos que podemos recomendarlo incluso como un primer lenguaje para aprender, por varias razones.<\/p>\n<\/blockquote>\n\n\n\n<p>En primer lugar, es un lenguaje con un tipado fuerte, lo que te &#8220;obliga&#8221; a aprender a pensar en los datos que nuestras funciones y clases intercambian y reduce en gran medida la posibilidad de errores. Adem\u00e1s, como ya hemos mencionado, es un <strong>lenguaje muy conciso<\/strong>, lo que te permite enfocarte en los conceptos fundamentales del c\u00f3digo que est\u00e1s escribiendo en lugar de perder tiempo con c\u00f3digo repetitivo. Por \u00faltimo, cuenta con una librer\u00eda est\u00e1ndar muy bien dise\u00f1ada, coherente y completa, lo que permite a los desarrolladores con menos experiencia familiarizarse con software muy bien escrito.<\/p>\n\n\n\n<p>En resumen, sin importar tu nivel de experiencia o el \u00e1rea de desarrollo de software que te interese,<strong> Kotlin definitivamente merece que le dediques tiempo<\/strong>. Si adem\u00e1s quisieras contribuir a MockK, la librer\u00eda para mocking de c\u00f3digo abierto del cual soy el mantenedor, sin duda estar\u00edas haciendo algo bueno.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-unete-a-nuestra-comunidad\"><strong>\u00danete a nuestra comunidad<\/strong><\/h2>\n\n\n\n<p>\u00bfTe apasiona el <strong>Desarrollo multiplataforma<\/strong>? \u00bfQuieres cambiar tu trayectoria laboral? En nuestra plataforma de Talent puedes encontrar la forma de llevar tu carrera al siguiente nivel. Entra en nuestra web y encuentra tu trabajo ideal- <a href=\"https:\/\/www.codemotion.com\/talent\/jobs\/\" class=\"ek-link\">\u00c9chale un vistazo.<\/a><\/p>\n\n\n\n<p>Ser parte de la comunidad de Codemotion te permitir\u00e1 potenciar tu experiencia y enfrentar nuevos desaf\u00edos que impulsar\u00e1n tu carrera. Aprender\u00e1s nuevas habilidades t\u00e9cnicas y crecer\u00e1s junto a otros miembros mediante el intercambio de opiniones y la creaci\u00f3n conjunta. Tenemos dos comunidades para ti seg\u00fan tu experiencia:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Si eres <em>wanna-be-dev<\/em>, <em>&nbsp;junior-dev <\/em>o<em> early-mid-dev<\/em> nuestra comunidad de <strong>Discord <\/strong>es para ti. All\u00ed encontrar\u00e1s recursos, eventos, formaci\u00f3n, muchos compa\u00f1eros de viaje y beneficios exclusivos. <a href=\"https:\/\/forms.gle\/khscfj8dUj3iPvCi9\" class=\"ek-link\">S\u00famate aqu\u00ed.<\/a><\/li>\n\n\n\n<li>Si eres <em>late-mid-dev, senior-dev, Tech Lead o CTO<\/em> nuestra comunidad de <strong>Telegram <\/strong>es para ti. All\u00ed encontrar\u00e1s el mejor networking, art\u00edculos high-tech, debates de tendencias tech y beneficios exclusivos. <a href=\"https:\/\/t.me\/+blEFka3EDodjMTFk\">S\u00famate aqu\u00ed.<\/a><\/li>\n<\/ol>\n\n\n\n<p>\u00a1Nos vemos en Codemotion!<\/p>\n\n\n\n<script src=\"https:\/\/codemotion.activehosted.com\/f\/embed.php?id=44\" type=\"text\/javascript\" charset=\"utf-8\"><\/script>\n","protected":false},"excerpt":{"rendered":"<p>Kotlin es la primera opci\u00f3n para el desarrollo de Android, pero no se limita \u00fanicamente a Android. \u00a1No te pierdas esta introducci\u00f3n a Kotlin! \u00bfC\u00f3mo funciona Kotlin? \u00bfAlguna vez te has enfocado en este lenguaje espec\u00edfico? En realidad, no se ha hablado mucho de Kotlin durante mucho tiempo, y de hecho, es un lenguaje de&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\">Read more<\/a><\/p>\n","protected":false},"author":166,"featured_media":21883,"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":[10648],"tags":[10798,55],"collections":[],"class_list":{"0":"post-22360","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-lenguajes-de-programacion","8":"tag-desarrollo-android","9":"tag-kotlin","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Android: Una completa introducci\u00f3n a Kotlin - Codemotion \ud83d\udcf1<\/title>\n<meta name=\"description\" content=\"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!\" \/>\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\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Una introducci\u00f3n completa a Kotlin\" \/>\n<meta property=\"og:description\" content=\"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\" \/>\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=\"2023-08-03T12:37:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-31T13:57:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1322\" \/>\n\t<meta property=\"og:image:height\" content=\"793\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Mattia Tommasone\" \/>\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=\"Mattia Tommasone\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 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\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\"},\"author\":{\"name\":\"Mattia Tommasone\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/584de0ceb0afa849bcb9c186a81351b5\"},\"headline\":\"Una introducci\u00f3n completa a Kotlin\",\"datePublished\":\"2023-08-03T12:37:25+00:00\",\"dateModified\":\"2023-08-31T13:57:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\"},\"wordCount\":1597,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"keywords\":[\"Desarrollo Android\",\"Kotlin\"],\"articleSection\":[\"Lenguajes de programaci\u00f3n\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\",\"name\":\"Android: Una completa introducci\u00f3n a Kotlin - Codemotion \ud83d\udcf1\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"datePublished\":\"2023-08-03T12:37:25+00:00\",\"dateModified\":\"2023-08-31T13:57:11+00:00\",\"description\":\"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"width\":1322,\"height\":793,\"caption\":\"Collaborative coding. A group of developers working together. Kotlin introduction. Agile\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lenguajes de programaci\u00f3n\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Una introducci\u00f3n completa a Kotlin\"}]},{\"@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\/584de0ceb0afa849bcb9c186a81351b5\",\"name\":\"Mattia Tommasone\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/50db7c90a1eddfab0f3e57d6cbd754f7cc3a66acfd50ca5fad9cedf9f525fa66?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/50db7c90a1eddfab0f3e57d6cbd754f7cc3a66acfd50ca5fad9cedf9f525fa66?s=96&d=mm&r=g\",\"caption\":\"Mattia Tommasone\"},\"description\":\"Developer for about twenty years and youth soccer coach for the same amount of time. Former music journalist in a previous life, and a descendant of a family of schoolteachers. Now, I work in developer relations; in a nutshell, I enjoy explaining the topics that I'm passionate about.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/raibaz\/?originalSubdomain=it\"],\"jobTitle\":\"Senior Developer Relations Engineer, Ads at Google\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/mattia-tommasone\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Android: Una completa introducci\u00f3n a Kotlin - Codemotion \ud83d\udcf1","description":"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!","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\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/","og_locale":"en_US","og_type":"article","og_title":"Una introducci\u00f3n completa a Kotlin","og_description":"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-08-03T12:37:25+00:00","article_modified_time":"2023-08-31T13:57:11+00:00","og_image":[{"width":1322,"height":793,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","type":"image\/jpeg"}],"author":"Mattia Tommasone","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Mattia Tommasone","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/"},"author":{"name":"Mattia Tommasone","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/584de0ceb0afa849bcb9c186a81351b5"},"headline":"Una introducci\u00f3n completa a Kotlin","datePublished":"2023-08-03T12:37:25+00:00","dateModified":"2023-08-31T13:57:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/"},"wordCount":1597,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","keywords":["Desarrollo Android","Kotlin"],"articleSection":["Lenguajes de programaci\u00f3n"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/","name":"Android: Una completa introducci\u00f3n a Kotlin - Codemotion \ud83d\udcf1","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","datePublished":"2023-08-03T12:37:25+00:00","dateModified":"2023-08-31T13:57:11+00:00","description":"Kotlin es un lenguaje de programaci\u00f3n moderno, conciso y seguro, desarrollado por JetBrains \u00a1No te pierdas esta introducci\u00f3n a Kotlin!","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","width":1322,"height":793,"caption":"Collaborative coding. A group of developers working together. Kotlin introduction. Agile"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/una-introduccion-completa-a-kotlin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Lenguajes de programaci\u00f3n","item":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/"},{"@type":"ListItem","position":3,"name":"Una introducci\u00f3n completa a Kotlin"}]},{"@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\/584de0ceb0afa849bcb9c186a81351b5","name":"Mattia Tommasone","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/50db7c90a1eddfab0f3e57d6cbd754f7cc3a66acfd50ca5fad9cedf9f525fa66?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/50db7c90a1eddfab0f3e57d6cbd754f7cc3a66acfd50ca5fad9cedf9f525fa66?s=96&d=mm&r=g","caption":"Mattia Tommasone"},"description":"Developer for about twenty years and youth soccer coach for the same amount of time. Former music journalist in a previous life, and a descendant of a family of schoolteachers. Now, I work in developer relations; in a nutshell, I enjoy explaining the topics that I'm passionate about.","sameAs":["https:\/\/www.linkedin.com\/in\/raibaz\/?originalSubdomain=it"],"jobTitle":"Senior Developer Relations Engineer, Ads at Google","url":"https:\/\/www.codemotion.com\/magazine\/author\/mattia-tommasone\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x600.jpg","author_info":{"display_name":"Mattia Tommasone","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/mattia-tommasone\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-300x180.jpg",300,180,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-768x461.jpg",768,461,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-1024x614.jpg",1024,614,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",100,60,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Mattia Tommasone","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/mattia-tommasone\/"},"uagb_comment_info":0,"uagb_excerpt":"Kotlin es la primera opci\u00f3n para el desarrollo de Android, pero no se limita \u00fanicamente a Android. \u00a1No te pierdas esta introducci\u00f3n a Kotlin! \u00bfC\u00f3mo funciona Kotlin? \u00bfAlguna vez te has enfocado en este lenguaje espec\u00edfico? En realidad, no se ha hablado mucho de Kotlin durante mucho tiempo, y de hecho, es un lenguaje de&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/22360","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\/166"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=22360"}],"version-history":[{"count":12,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/22360\/revisions"}],"predecessor-version":[{"id":23120,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/22360\/revisions\/23120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/21883"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=22360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=22360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=22360"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=22360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}