L2-Interoperabilidad Java y Kotlin
L2-Interoperabilidad Java y Kotlin
¡Comencemos!
_ 1
www.desafiolatam.com
¿Qué aprenderás?
Introducción
Kotlin siempre fue pensado como un lenguaje cien por ciento compatible con Java y esto
permite que sean interoperables, de manera que podremos trabajar con ambos lenguajes a
la vez, algo que nos permitirá ir migrando lentamente nuestro código. Literalmente podemos
ir migrando clase a clase y evitar tener que generar una gran migración de código
obligadamente al cambiarnos de Java a Kotlin.
Otra ventaja de esto es: si nos imaginamos un proyecto real, el cual ya tenemos escrito en
Java y comenzamos a migrar a kotlin, pero tenemos ciertas bibliotecas que son antiguas
pero no podemos prescindir de ellas, no tendríamos problema, ya que aunque nuestro
código esté usando Kotlin, podría comunicarse sin problemas con cualquier library aunque
este hecha en Java.
Ahora veremos bien, como es el tema de la interoperabilidad y como nos puede simplificar
la vida en nuestro desarrollo en Android.
_ 2
www.desafiolatam.com
Interoperabilidad Java y Kotlin
¿Qué es la interoperabilidad?
A continuación crearemos una app en Kotlin con un layout, para que podamos ver nuestro
resultado en ejecución y utilizaremos un método de una clase Java para ver un ejemplo
práctico del funcionamiento.
_ 3
www.desafiolatam.com
El MainActivity que utilizará el layout se ve de la siguiente forma:
Ahora para ejemplificar la interoperabilidad de Kotlin y Java, llamaremos a esta clase desde
nuestra actividad y modificaremos el valor desplegado por el TextView.
_ 4
www.desafiolatam.com
La clase Calculadora escrita en Java es utilizable desde el código Kotlin de la actividad de
forma transparente para el programador. Usando var calculadora = Calculadora() se
crea una nueva instancia y se asigna a la calculadora para poder ser utilizada.
Para finalizar con la interoperabilidad, dejamos una referencia que Google ofrece como Guía
de interoperabilidad de Kotlin-Java con un conjunto de reglas a aplicar para hacer más fluido
el trabajo entre ambos lenguajes.
_ 5
www.desafiolatam.com