Kotlin es un lenguaje de programación moderno, conciso y seguro, desarrollado por JetBrains y adoptado por Google en 2017 como el lenguaje oficial para el desarrollo de aplicaciones Android.
Definición y origen
Kotlin es un lenguaje de programación de propósito general que corre sobre la JVM (Java Virtual Machine). Fue creado por la empresa JetBrains en 2011 y lanzado oficialmente en 2016. Google lo declaró lenguaje preferido para Android en la conferencia Google I/O 2019.
Kotlin compila a bytecode de Java, lo que significa que puede usar todas las librerías de Java existentes. También puede compilar a JavaScript o código nativo mediante Kotlin Multiplatform.
¿Por qué Kotlin reemplazó a Java en Android?
Durante años, Java fue el único lenguaje oficial para Android. Java funciona, pero tiene problemas conocidos: código muy largo, errores de NullPointerException frecuentes y sintaxis repetitiva.
Kotlin resuelve estos problemas con características modernas:
| Característica | Java | Kotlin |
|---|---|---|
| Null safety integrado | No | Sí |
| Data classes en una línea | No | Sí |
| Funciones de extensión | No | Sí |
| Coroutines para async | No (nativo) | Sí |
| Interoperabilidad con Java | — | 100% |
Estas mejoras hacen que escribas menos código y cometas menos errores.
Estructura básica de un programa Kotlin
Todo programa Kotlin comienza con una función main. Esta es la estructura mínima:
fun main() {
println("Hola desde Kotlin")
}
En Android, no usas main() directamente. En su lugar, el punto de entrada es una clase que extiende AppCompatActivity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
AppCompatActivity es la clase base que proporciona compatibilidad con versiones anteriores de Android. onCreate es el método que se ejecuta cuando la pantalla se crea por primera vez.
Ejemplo 1: Calcular el salario neto de un empleado
Imagina que trabajas en el área de TI de Liverpool y debes calcular el salario neto de un desarrollador después de descontar el IMSS.
fun calcularSalarioNeto(salarioBruto: Double, porcentajeImss: Double): Double {
val descuento = salarioBruto * (porcentajeImss / 100)
return salarioBruto - descuento
}
fun main() {
val salario = 25000.0
val neto = calcularSalarioNeto(salario, 6.75)
println("Salario neto: $${neto.toLong()}")
}
Salida en consola:
Salario neto: $23,312
En este ejemplo usamos dos conceptos clave: una función con parámetros tipados y la palabra reservada val para declarar una variable inmutable.
Ejemplo 2: Mostrar un catálogo de productos de Mercado Libre
En una app Android real, podrías mostrar una lista de productos. Así se ve la estructura de datos en Kotlin:
data class Producto(
val nombre: String,
val precio: Double,
val disponible: Boolean
)
fun main() {
val productos = listOf(
Producto("Audífonos Bluetooth", 1200.0, true),
Producto("Teclado mecánico", 2500.0, false),
Producto("Mouse inalámbrico", 850.0, true)
)
for (p in productos) {
if (p.disponible) {
println("${p.nombre} - $${ p.precio.toInt() }")
}
}
}
Salida en consola:
Audífonos Bluetooth - $1,200
Mouse inalámbrico - $850
Una data class en Kotlin genera automáticamente los métodos equals(), hashCode() y toString(). No necesitas escribir ese código manualmente como en Java.
Errores comunes al empezar con Kotlin
Error 1: Confundir val con var
val declara una variable inmutable (no se puede reasignar). var declara una variable mutable.
val nombre = "Ana"
nombre = "Luis" // Error de compilación
var edad = 25
edad = 26 // Correcto
Usa val siempre que sea posible. Reserva var solo cuando necesites cambiar el valor.
Error 2: Ignorar la null safety
Kotlin distingue entre tipos nulables y no nulables. Si intentas asignar null a un tipo no nulable, el compilador lo rechaza:
var ciudad: String = null // Error de compilación
var ciudad: String? = null // Correcto: tipo nulable con "?"
Esta característica elimina la mayoría de los errores de NullPointerException en tiempo de ejecución.
Error 3: Olvidar el override en los métodos de Activity
Cuando sobreescribes un método de Android como onCreate, debes incluir la anotación override. Sin ella, el compilador genera un error.
// Incorrecto
fun onCreate(savedInstanceState: Bundle?) { }
// Correcto
override fun onCreate(savedInstanceState: Bundle?) { }
El mercado laboral de Android en México
El desarrollo Android es una de las habilidades mejor pagadas en el sector tecnológico mexicano. Empresas como FEMSA, Bimbo y Mercado Libre contratan desarrolladores Android de forma constante.
Los rangos salariales aproximados para desarrolladores Android en México son:
| Nivel | Salario mensual aproximado |
|---|---|
| Junior (0–2 años) | $14,000 – $18,000 |
| Semi-Senior (2–4 años) | $18,000 – $24,000 |
| Senior (4+ años) | $24,000 – $35,000 |
Conocer Kotlin es requisito en prácticamente todas las vacantes de Android publicadas en plataformas como OCC Mundial y LinkedIn México.
Lo que aprenderás en este curso
Este curso cubre el ciclo completo de desarrollo Android con Kotlin:
- Fundamentos del lenguaje: variables, funciones, clases y null safety.
- Interfaz de usuario: layouts XML, View Binding y navegación entre pantallas.
- Componentes avanzados: RecyclerView para listas y Retrofit para consumir APIs.
- Publicación: cómo subir tu app a Google Play Store.
Cada lección incluye ejemplos con contexto mexicano. Usarás datos de empresas reales y escenarios que encontrarás en el trabajo.
Puntos clave
- Kotlin es el lenguaje oficial y preferido de Google para Android desde 2019.
- Es 100% interoperable con Java: puedes usar librerías Java en proyectos Kotlin.
- La null safety integrada reduce los errores en tiempo de ejecución.
- Las data classes y las funciones de extensión reducen drásticamente la cantidad de código.
- El mercado laboral mexicano demanda Kotlin: salarios van de $14,000 a más de $30,000 al mes según experiencia.