El mundo del desarrollo de aplicaciones móviles siempre ha estado dividido por una frontera clara. Por un lado, en el ecosistema de Apple donde Swift es el lenguaje predilecto, diseñado por la firma para crear software nativo para el iPhone. Por otro lado, en Android, dominado históricamente por Java y más recientemente por Kotlin. Aunque existen herramientas multiplataforma como React Native o Flutter de Google, el desarrollo nativo implicó caminos separados. Ahora, esa frontera se ha vuelto más difusa que nunca.
Qué ha cambiado. Swift, el lenguaje de programación que Apple creó en 2014, ha cruzado al otro lado. El proyecto de código abierto ha anunciado oficialmente el lanzamiento de las primeras versiones del SDK para Android. Esto significa que, por primera vez, los desarrolladores tienen herramientas oficiales para crear apps de Android usando el lenguaje de Apple. Hasta ahora, usar Swift en Android era un terreno experimental, pero la creación de un grupo de trabajo dedicado a Android dentro del proyecto proporciona herramientas estable y una hoja de ruta clara.
Cómo funciona. El objetivo no es que las apps de Android se vean y se sientan como las del iPhone. El SDK de Swift no trae consigo SwiftUI, el sistema con el que se diseña la interfaz de iOS. Los derroteros van por otro lado: los desarrolladores escribirán la «lógica de negocio» de la app (el núcleo que gestiona datos y funciones) una sola vez en Swift.
Ese código se podrá usar tanto en la app de iOS como en la de Android. Sin embargo, la interfaz de usuario se seguirá construyendo con las herramientas nativas de Android como Jetpack Compose en Kotlin. Por lo tanto, una app desarrollada en Swift para Android no debería lucir como la original para el iPhone.
Por qué es importante. Este enfoque permite a los equipos de desarrollo reutilizar la mayor parte del código, que a su vez acelera los lanzamientos y asegura que las funciones se comporten igual en ambos sistemas. Un desarrollador lo resume así: «reduce el cambio de lenguaje, permite lanzamientos más rápidos y unifica el stack de desarrollo».
La conexión entre el código Swift y el código nativo de Android se realiza a través de un proyecto llamado swift-java que genera «puentes» de forma automática para que ambos lenguajes puedan comunicarse sin problemas.
Debate de la comunidad. El anuncio ha generado un intenso debate entre los desarrolladores en foros como YCombinator, y la acogida ha sido mayoritariamente positiva. Muchos expertos ven con buenos ojos que el enfoque sea compartir la lógica y no la interfaz.
Como se comenta, «compartir la interfaz en apps complejas acaba siendo una pesadilla». Al mantener la interfaz nativa de cada plataforma, la app se sentirá integrada en el sistema operativo, evitando el extraño efecto que a veces producen otras tecnologías que intentan imitar los botones o menús nativos.
Imagen de portada | Pepu Ricca para Xataka (con edición)
En Xataka Android | Los ajustes ‘ocultos’ de tu tele: así se activan las opciones de desarrollador en Android TV y Google TV


