{"id":108,"date":"2023-03-03T11:36:00","date_gmt":"2023-03-03T16:36:00","guid":{"rendered":"https:\/\/plusbits.digital\/blog\/?p=108"},"modified":"2023-02-15T23:53:24","modified_gmt":"2023-02-16T04:53:24","slug":"conceptos-basicos-de-kotlin","status":"publish","type":"post","link":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/","title":{"rendered":"Conceptos b\u00e1sicos de Kotlin"},"content":{"rendered":"\n<p>Kotlin es un lenguaje de programaci\u00f3n de c\u00f3digo abierto que se utiliza para desarrollar aplicaciones para Android, servidores y la web. Fue desarrollado por JetBrains, la misma compa\u00f1\u00eda que cre\u00f3 el entorno de desarrollo integrado (IDE) IntelliJ IDEA.<\/p>\n\n\n\n<p>Kotlin se considera un lenguaje moderno, seguro, conciso y f\u00e1cil de leer y escribir. Es compatible con Java y se puede utilizar en proyectos de Android existentes. Adem\u00e1s, es un lenguaje orientado a objetos y funcional, lo que significa que se pueden utilizar ambos paradigmas de programaci\u00f3n en el mismo c\u00f3digo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diferencias usando Java<\/h2>\n\n\n\n<p>Te presentamos algunas de las principales diferencias entre programar en Java para Android y usar Kotlin:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Concisi\u00f3n<\/strong>: Kotlin es conocido por su sintaxis m\u00e1s concisa y legible que la de Java. Kotlin permite reducir la cantidad de c\u00f3digo necesario para lograr la misma funcionalidad en comparaci\u00f3n con Java.<\/li>\n\n\n\n<li><strong>Null Safety<\/strong>: Kotlin fue dise\u00f1ado con la seguridad nula en mente. Esto significa que el lenguaje proporciona herramientas para prevenir errores relacionados con las referencias nulas. En Java, la seguridad nula no est\u00e1 integrada, lo que significa que los desarrolladores tienen que ser m\u00e1s cuidadosos al manejar los valores nulos.<\/li>\n\n\n\n<li><strong>Interoperabilidad<\/strong>: Kotlin es compatible con el c\u00f3digo Java, lo que significa que los desarrolladores pueden utilizar librer\u00edas y componentes escritos en Java. Sin embargo, lo contrario no siempre es cierto, es decir, el c\u00f3digo Kotlin no siempre puede ser utilizado por aplicaciones Java.<\/li>\n\n\n\n<li><strong>Funciones de extensi\u00f3n:<\/strong> Kotlin permite agregar funciones a clases existentes sin tener que extenderlas. Esto se llama funciones de extensi\u00f3n y se utiliza para agregar funcionalidades a las clases sin tener que modificar el c\u00f3digo original.<\/li>\n\n\n\n<li><strong>Programaci\u00f3n reactiva<\/strong>: Kotlin ofrece soporte para programaci\u00f3n reactiva, lo que permite crear aplicaciones que responden a eventos y cambios de manera m\u00e1s eficiente.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Los escenciales<\/h2>\n\n\n\n<p>A continuaci\u00f3n, te presentamos algunos de los conceptos b\u00e1sicos de programaci\u00f3n en Kotlin:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Variables <\/strong>y tipos de datos: En Kotlin, las variables se definen con la palabra clave \u00abvar\u00bb o \u00abval\u00bb. La diferencia entre ambas es que \u00abval\u00bb define una variable de s\u00f3lo lectura, mientras que \u00abvar\u00bb define una variable que se puede cambiar. Kotlin tiene tipos de datos b\u00e1sicos, como enteros, flotantes, cadenas, etc.<\/li>\n\n\n\n<li><strong>Funciones<\/strong>: Las funciones en Kotlin se definen con la palabra clave \u00abfun\u00bb. Pueden tomar par\u00e1metros y devolver valores. Adem\u00e1s, Kotlin permite la definici\u00f3n de funciones de nivel superior, que son funciones que no pertenecen a una clase.<\/li>\n\n\n\n<li><strong>Clases y objetos<\/strong>: Kotlin es un lenguaje orientado a objetos, por lo que las clases y los objetos son fundamentales en su sintaxis. Las clases se definen con la palabra clave \u00abclass\u00bb y los objetos se definen con la palabra clave \u00abobject\u00bb.<\/li>\n\n\n\n<li><strong>Expresiones condicionales<\/strong>: Las expresiones condicionales se utilizan para tomar decisiones en el c\u00f3digo. En Kotlin, se pueden utilizar \u00abif-else\u00bb y \u00abwhen\u00bb para definir expresiones condicionales.<\/li>\n\n\n\n<li><strong>Ciclos<\/strong>: En Kotlin, los ciclos \u00abfor\u00bb y \u00abwhile\u00bb se utilizan para repetir bloques de c\u00f3digo.<\/li>\n<\/ol>\n\n\n\n<p>A continuaci\u00f3n te mostramos un c\u00f3digo f\u00e1cil de entender:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Declaraci\u00f3n de variables\r\n<strong>var <\/strong>num1 = 10\r\n<strong>val <\/strong>num2 = 5\r\n\r\n\/\/ Declaraci\u00f3n de funci\u00f3n\r\n<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">fun <\/mark><\/strong>sumar(num1: Int, num2: Int): Int {\r\n    return num1 + num2\r\n}\r\n\r\n\/\/ Ciclo for\r\n<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">for <\/mark><\/strong>(i in 1..5) {\r\n    println(i)\r\n}\r\n\r\n\/\/ Definici\u00f3n de clase\r\n<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">class<\/mark> <\/strong>Persona(<strong>val <\/strong>nombre: String, <strong>var <\/strong>edad: Int) {\r\n    fun cumpleanios() {\r\n        edad++\r\n        println(\"$nombre ahora tiene $edad a\u00f1os\")\r\n    }\r\n}\r\n\r\n\/\/ Creaci\u00f3n de objeto\r\n<strong>val <\/strong>persona1 = Persona(\"Juan\", 25)\r\npersona1.cumpleanios()\r\n<\/code><\/pre>\n\n\n\n<p>En este ejemplo, primero declaramos dos variables: <code>num1<\/code> y <code>num2<\/code>. <code>num1<\/code> es una variable mutable (es decir, se puede cambiar), mientras que <code>num2<\/code> es una variable inmutable (es decir, su valor no puede cambiar una vez asignado).<\/p>\n\n\n\n<p>Luego, definimos una funci\u00f3n llamada <code>sumar<\/code> que toma dos par\u00e1metros de tipo <code>Int<\/code> y devuelve su suma. Esta funci\u00f3n se puede llamar en cualquier momento en el c\u00f3digo.<\/p>\n\n\n\n<p>A continuaci\u00f3n, utilizamos un ciclo <code>for<\/code> para imprimir los n\u00fameros del 1 al 5 en la consola.<\/p>\n\n\n\n<p>Despu\u00e9s, definimos una clase <code>Persona<\/code> con dos propiedades: <code>nombre<\/code> (una variable de s\u00f3lo lectura) y <code>edad<\/code> (una variable mutable). La clase tambi\u00e9n tiene un m\u00e9todo llamado <code>cumpleanios<\/code>, que incrementa la edad de la persona en uno y lo muestra en la consola.<\/p>\n\n\n\n<p>Finalmente, creamos un objeto <code>persona1<\/code> de tipo <code>Persona<\/code> con un nombre y edad iniciales, y llamamos el m\u00e9todo <code>cumpleanios<\/code> en ese objeto para actualizar su edad y mostrarla en la consola.<\/p>\n\n\n\n<p>Este es un ejemplo muy b\u00e1sico, pero espero que te haya dado una idea de c\u00f3mo se pueden utilizar variables, funciones, ciclos, clases y objetos en Kotlin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Elementos visuales<\/h2>\n\n\n\n<p>Supongamos que tenemos un bot\u00f3n en nuestra interfaz visual, y queremos que al presionarlo se muestre un mensaje en un <strong>TextView<\/strong>. Para hacerlo, primero necesitamos obtener una referencia a ambos elementos en el c\u00f3digo Kotlin. Suponiendo que el bot\u00f3n tiene el id <strong><code>button<\/code> <\/strong>y el <strong>TextView<\/strong> tiene el id <code><strong>textView<\/strong><\/code>, el siguiente c\u00f3digo se encargar\u00eda de obtener las referencias:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>val <\/strong>button = findViewById&lt;Button>(R.id.button)\r\n<strong>val <\/strong>textView = findViewById&lt;TextView>(R.id.textView)<\/pre>\n\n\n\n<p>Una vez que tenemos las referencias, podemos agregar un listener al bot\u00f3n que se activar\u00e1 cuando se presione el bot\u00f3n. En el listener, podemos actualizar el contenido del TextView con un mensaje. El siguiente c\u00f3digo muestra c\u00f3mo hacerlo:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">button.setOnClickListener {\r\n    textView.text = \"<strong>Hola Plusbits!<\/strong>\"\r\n}<\/pre>\n\n\n\n<p>En este c\u00f3digo, agregamos un listener al bot\u00f3n con la funci\u00f3n <code><strong>setOnClickListener<\/strong><\/code>. Dentro del listener, actualizamos el contenido del TextView con la propiedad <code>text<\/code> y le asignamos un mensaje.<\/p>\n\n\n\n<p>Con este c\u00f3digo, al presionar el bot\u00f3n en la interfaz visual, se actualizar\u00e1 el contenido del <strong>TextView <\/strong>con el mensaje \u00ab<strong>Hola Plusbits!<\/strong>\u00ab.<\/p>\n\n\n\n<p>Es importante tener en cuenta que este c\u00f3digo asume que los elementos <code>button<\/code> y <code>textView<\/code> est\u00e1n definidos en la interfaz visual (el archivo XML). Tambi\u00e9n se asume que la referencia al archivo R (que contiene las referencias a los recursos de la aplicaci\u00f3n) est\u00e1 incluida en el archivo Kotlin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Kotlin es un lenguaje de programaci\u00f3n m\u00e1s moderno y con caracter\u00edsticas m\u00e1s avanzadas que Java para el desarrollo de aplicaciones para Android. Aunque Java sigue siendo un lenguaje ampliamente utilizado para el desarrollo de aplicaciones para Android, Kotlin se est\u00e1 volviendo cada vez m\u00e1s popular debido a su facilidad de uso.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kotlin es un lenguaje de programaci\u00f3n de c\u00f3digo abierto que se utiliza para desarrollar aplicaciones para Android, servidores y la[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[3],"tags":[27,68,28],"class_list":["post-108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-android","tag-desarrollo-movil","tag-kotlin"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Conceptos b\u00e1sicos de Kotlin - blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Conceptos b\u00e1sicos de Kotlin - blog\" \/>\n<meta property=\"og:description\" content=\"Kotlin es un lenguaje de programaci\u00f3n de c\u00f3digo abierto que se utiliza para desarrollar aplicaciones para Android, servidores y la[...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\" \/>\n<meta property=\"og:site_name\" content=\"blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-03T16:36:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"edgarcap\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"edgarcap\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\"},\"author\":{\"name\":\"edgarcap\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/a72387d39369ffdce80264d002402d0a\"},\"headline\":\"Conceptos b\u00e1sicos de Kotlin\",\"datePublished\":\"2023-03-03T16:36:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\"},\"wordCount\":975,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg\",\"keywords\":[\"android\",\"desarrollo movil\",\"kotlin\"],\"articleSection\":[\"Software\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\",\"url\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\",\"name\":\"Conceptos b\u00e1sicos de Kotlin - blog\",\"isPartOf\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg\",\"datePublished\":\"2023-03-03T16:36:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage\",\"url\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg\",\"contentUrl\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/plus-bits.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Conceptos b\u00e1sicos de Kotlin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#website\",\"url\":\"https:\/\/plus-bits.com\/blog\/\",\"name\":\"blog\",\"description\":\"Temas de marketing, Software, SEO, Realidad virtual, Games, Dise\u00f1o y m\u00e1s!\",\"publisher\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/plus-bits.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#organization\",\"name\":\"blog\",\"url\":\"https:\/\/plus-bits.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2020\/06\/cropped-logo2.png\",\"contentUrl\":\"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2020\/06\/cropped-logo2.png\",\"width\":180,\"height\":45,\"caption\":\"blog\"},\"image\":{\"@id\":\"https:\/\/plus-bits.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/a72387d39369ffdce80264d002402d0a\",\"name\":\"edgarcap\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0ef88b5a8a59beaaf72a8a1a501cc461?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0ef88b5a8a59beaaf72a8a1a501cc461?s=96&d=mm&r=g\",\"caption\":\"edgarcap\"},\"sameAs\":[\"https:\/\/plusbits.digital\/blog\"],\"url\":\"https:\/\/plus-bits.com\/blog\/author\/edgarcap\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Conceptos b\u00e1sicos de Kotlin - blog","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:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/","og_locale":"es_ES","og_type":"article","og_title":"Conceptos b\u00e1sicos de Kotlin - blog","og_description":"Kotlin es un lenguaje de programaci\u00f3n de c\u00f3digo abierto que se utiliza para desarrollar aplicaciones para Android, servidores y la[...]","og_url":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/","og_site_name":"blog","article_published_time":"2023-03-03T16:36:00+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg","type":"image\/jpeg"}],"author":"edgarcap","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"edgarcap","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#article","isPartOf":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/"},"author":{"name":"edgarcap","@id":"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/a72387d39369ffdce80264d002402d0a"},"headline":"Conceptos b\u00e1sicos de Kotlin","datePublished":"2023-03-03T16:36:00+00:00","mainEntityOfPage":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/"},"wordCount":975,"commentCount":0,"publisher":{"@id":"https:\/\/plus-bits.com\/blog\/#organization"},"image":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg","keywords":["android","desarrollo movil","kotlin"],"articleSection":["Software"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/","url":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/","name":"Conceptos b\u00e1sicos de Kotlin - blog","isPartOf":{"@id":"https:\/\/plus-bits.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage"},"image":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg","datePublished":"2023-03-03T16:36:00+00:00","breadcrumb":{"@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#primaryimage","url":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg","contentUrl":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2023\/02\/que-es-kotlin.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/plus-bits.com\/blog\/software\/conceptos-basicos-de-kotlin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/plus-bits.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Conceptos b\u00e1sicos de Kotlin"}]},{"@type":"WebSite","@id":"https:\/\/plus-bits.com\/blog\/#website","url":"https:\/\/plus-bits.com\/blog\/","name":"blog","description":"Temas de marketing, Software, SEO, Realidad virtual, Games, Dise\u00f1o y m\u00e1s!","publisher":{"@id":"https:\/\/plus-bits.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/plus-bits.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/plus-bits.com\/blog\/#organization","name":"blog","url":"https:\/\/plus-bits.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/plus-bits.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2020\/06\/cropped-logo2.png","contentUrl":"https:\/\/plus-bits.com\/blog\/wp-content\/uploads\/2020\/06\/cropped-logo2.png","width":180,"height":45,"caption":"blog"},"image":{"@id":"https:\/\/plus-bits.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/a72387d39369ffdce80264d002402d0a","name":"edgarcap","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/plus-bits.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0ef88b5a8a59beaaf72a8a1a501cc461?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0ef88b5a8a59beaaf72a8a1a501cc461?s=96&d=mm&r=g","caption":"edgarcap"},"sameAs":["https:\/\/plusbits.digital\/blog"],"url":"https:\/\/plus-bits.com\/blog\/author\/edgarcap\/"}]}},"_links":{"self":[{"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":1,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"predecessor-version":[{"id":110,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/posts\/108\/revisions\/110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/media\/109"}],"wp:attachment":[{"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/plus-bits.com\/blog\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}