10 puntos por GN⁺ 2025-10-25 | 1 comentarios | Compartir por WhatsApp
  • A medida que el lenguaje Swift ha madurado y se ha expandido a la nube, Windows, navegadores y microcontroladores, ahora se ha publicado el Swift SDK para Android
  • Este SDK es el resultado de varios meses de trabajo del grupo de trabajo de Swift para Android, y permite a los desarrolladores crear apps nativas de Android con Swift
  • El SDK viene incluido en el instalador de Windows o puede descargarse por separado para Linux y macOS, y también se ofrecen código de ejemplo y guías
  • A través del proyecto swift-java, se admite la interoperabilidad bidireccional entre Swift y Java, con generación automática de bindings para garantizar rendimiento y seguridad
  • Esta publicación acelera la expansión del ecosistema multiplataforma de Swift y es vista como un punto de inflexión que abre nuevas posibilidades para el desarrollo móvil

Resumen de Swift SDK for Android

  • En el contexto de que Swift se ha expandido durante la última década desde servicios en la nube hasta Windows, navegadores y microcontroladores, ahora se oficializa su llegada a la plataforma Android
    • Gracias a la interoperabilidad de Swift, es fácil compartir código entre distintas plataformas
  • El grupo de trabajo de Android es un grupo abierto en el que cualquiera puede participar, y tiene como objetivo extender Swift a Android
  • Este anuncio implica la publicación de una compilación nightly (preview) de Swift SDK for Android, fruto de una larga colaboración de la comunidad

Funciones principales del SDK y forma de distribución

  • Ahora los desarrolladores pueden usar Swift para crear directamente aplicaciones nativas de Android
    • Esto abre nuevas posibilidades para el desarrollo multiplataforma
  • El SDK se ofrece integrado en el instalador de Windows y también puede descargarse por separado para Linux y macOS
  • Swift.org explica cómo configurar código Swift en dispositivos Android mediante la guía “Getting Started”
    • En el repositorio de GitHub Swift for Android Examples se muestra un flujo de trabajo de aplicación end-to-end

Compatibilidad de paquetes y expansión de la comunidad

  • Con el Swift SDK, es posible portar paquetes existentes de Swift a Android
    • Más del 25% de los paquetes en Swift Package Index ya admiten compilaciones para Android
    • La página Community Showcase indica si son compatibles con Android
  • Esta expansión refuerza el soporte multiplataforma del ecosistema Swift

Proyecto swift-java e interoperabilidad

  • El proyecto swift-java es una biblioteca y generador de código que ofrece interoperabilidad entre Swift y Java
    • Gestiona automáticamente la integración bidireccional entre Swift y Java, y genera bindings seguros y de alto rendimiento
  • Los desarrolladores pueden usarlo para llevar lógica de negocio a Android, y se puede conocer más en el video de la charla de Swift Server Side Meetup

Participación de la comunidad y hoja de ruta futura

  • Esta versión preview ha abierto nuevas oportunidades para la mejora de herramientas y expansión del ecosistema
    • Se recomienda compartir experiencias, ideas, herramientas y apps en la categoría Android de los foros de Swift
    • Este anuncio también se está debatiendo en el hilo oficial del foro
  • El grupo de trabajo de Android está redactando actualmente un documento de visión, que presentará las áreas prioritarias y la dirección futura de Swift en Android
    • A través del tablero del proyecto se puede seguir el progreso principal, y la calidad del SDK se gestiona con el sistema oficial de CI
  • El equipo de Swift impulsa la participación de la comunidad y busca fortalecer la presencia de Swift dentro del ecosistema Android

1 comentarios

 
GN⁺ 2025-10-25
Opiniones en Hacker News
  • La pregunta clave de cualquier framework multiplataforma es cómo maneja la UI
    Si usas sistemas de diseño que se sienten ajenos en cada plataforma, como Adobe Flex Builder, al final tienes que implementar a mano esa sensación nativa
    Flutter intenta reproducir a la perfección el tema Cupertino de iOS, y React Native aprovecha los widgets base de cada plataforma para que elementos como el scroll se sientan naturales
    Da pena que la entrada del blog no mencione esta parte tan importante
    Incluso si Apple lanza Swift para Android, por la filosofía de diseño tan propia de Apple, podría sentirse raro en Android
    Parece que la dirección futura dependerá de si este proyecto lo impulsa directamente Apple o si es un intento open source más centrado en la comunidad

    • Yo prefiero frameworks que permitan escribir UI nativa en vez de compartirla
      Por eso me gusta KMP. En iOS puedes hacer la UI con SwiftUI y en Android con Kotlin, compartiendo solo la lógica de negocio
      Cuando intentas compartir la UI, terminas en la pesadilla de “escríbelo una vez y depúralo en todas partes”
      Swift for Android también parece que permitirá este tipo de compartición de lógica a nivel de lenguaje
    • Swift SDK for Android no impone un enfoque de UI
      Incluso en los ejemplos se sigue usando Jetpack Compose tal cual mientras se llama a lógica escrita en Swift
      Mantiene la misma estructura que el modelo de memoria por conteo de referencias de Swift, así que hay bastante consistencia
      Desde la perspectiva de Apple como responsable de herramientas para desarrolladores, espero que esta tecnología sirva de base para una nueva ola de innovación
    • Igual que Browser Company llevó SwiftUI a Windows, también podría existir en Android una asignación de SwiftUI hacia Jetpack Compose
      SwiftUI en realidad no es una “UI nativa” en sí, sino un lenguaje declarativo que el sistema interpreta para generar UIView o NSView
    • Esta versión no incluye ningún port de SwiftUI ni de UIKit a Android
      A menos que se repliquen directamente como hace Flutter, no es posible usar la UI de Apple tal cual en Android
    • El Swift SDK no especifica una tecnología de UI
      En cambio, proyectos como Skip.tools hacen el puente de SwiftUI hacia Jetpack Compose
      Puedes ver un ejemplo en la app Skip Showcase
      Trabajo en los productos de Skip y soy miembro del Swift Android Workgroup; participé como release manager de este SDK
  • Me da mucho gusto que se haya presentado como proyecto oficial
    He usado RN y Flutter, pero siempre el problema fue la falta de sensación nativa
    KMP existe, pero la mayoría de los desarrolladores empieza por iOS y luego se expande a Android
    Si el código se comparte como Swift Package, ese flujo se vuelve mucho más natural

    • Hay muchísimos más desarrolladores de Android y la distribución también es más simple
      En cambio, hay bastante menos desarrolladores de Swift/Objective-C
      Fuera de Estados Unidos, la cuota de iPhone es baja, así que las empresas suelen pensar más en Windows o el navegador
    • Eso de “empezar por iOS” suena a una visión muy centrada en EE. UU.
      KMP ya se usa en apps grandes como Google Workspace y, con Kotlin y la inversión de JetBrains, su madurez es alta
      Flutter tenía un ciclo de lanzamientos demasiado rápido y era difícil seguirle el ritmo
    • Tampoco se puede ignorar la lógica de negocio basada en JavaScript
      Con JavaScriptCore o QuickJS puede correr en iOS, Android y la web, y además permite hot reload
      Eso sí, por las políticas de las app stores no sirve para cambios funcionales grandes, sino más bien para corregir bugs
      En la realidad de ciclos de despliegue móviles lentos, me parece una gran oportunidad
    • En Proton comparten más del 80% de la lógica con Rust, y el resto lo implementan por plataforma
    • En realidad, esta estructura ya era posible con .NET y MvvmCross
      La combinación de biblioteca core compartida + proyectos de UI nativa por plataforma ya funcionaba bien
  • Me preguntaba si esto estaba relacionado con el proyecto del transpilador SKIP que vi en el blog de Skip.tools
    Quería llevar una app de SwiftUI a Android, pero quería evitar RN

    • Sí, Skip lleva más de un año usando versiones preview del Swift SDK y con el modo Fuse construye apps SwiftUI totalmente nativas para Android
      Skip tiene dos modos: el modo Lite, que convierte código Swift a Kotlin, y el modo Fuse, que compila Swift directamente para Android
      Ambos modos pueden usarse juntos para integrarse con el ecosistema de Kotlin, como Lottie o Firebase
      Puedes ver una comparación más detallada en Skip Docs
      Me alegra que ya exista un SDK oficial, porque ahora podremos usar la versión oficial en lugar de builds propias
    • Skip es uno de los principales contribuidores de este esfuerzo
    • Ahora ya es posible ejecutar Swift nativamente sin transpilador, y la compatibilidad también mejoró mucho
  • Ojalá no se quede en un simple proof of concept, como Swift Embedded
    Swift es un lenguaje hermoso, pero hay cierta inquietud respecto al liderazgo de su comunidad

    • guard let self = self else { return } — es un chiste familiar para cualquier desarrollador de Swift
  • Ya no quiero ver más RN ni Flutter
    Estoy cansado de las interfaces acartonadas y la respuesta táctil lenta

    • En Flutter también puedes ajustar el radio de las esquinas y el rendimiento es rápido
      Si la respuesta se siente lenta, probablemente sea un problema de implementación de la app
    • A mí tampoco me gustan mucho RN ni Flutter, pero eso no garantiza que Swift en Android vaya a ser mejor que ellos
      Apple podría perder el interés muy rápido
  • “You got Kotlin in my iOS.”
    “You got Swift in my Android.” — una forma ingeniosa de decirlo

    • Es una analogía perfecta. Hasta podría salir un híbrido de Kotlin y Swift como en un comercial de Reese’s
    • Kotlin en iOS se compila estáticamente y se interoperan de forma nativa con Swift/ObjC
      Ver Kotlin Native overview
  • Este anuncio parece demostrar el éxito del nuevo sistema de SDK de Swift
    Antes, dar soporte a otras plataformas era complicado por el enredo con CMake, pero ahora, si sigues las reglas del SDK, se puede portar a cualquier plataforma
    Además de Android, planea expandirse a Linux, wasm, embedded y pronto Windows
    La interoperabilidad con la JVM todavía no está completa, pero está claro que la independencia de plataforma ha crecido

  • Me gusta Kotlin Multiplatform, pero Swift for Android también me parece interesante
    Compartir bibliotecas nativas de Swift para trabajos sensibles a memoria podría ser útil
    Aun así, para mover toda la lógica de negocio a Swift, KMP sigue siendo más maduro por ahora

    • ¿Has hecho también apps de escritorio con KMP? Tengo curiosidad por su nivel general de madurez
  • Compartir la lógica de negocio ya era un problema resuelto
    El verdadero dolor estaba en tener que escribir la UI dos veces
    Hace falta un framework de UI común que no sea tan incómodo como React Native

    • React Native ha mejorado bastante últimamente con la transición a la New Architecture
      Usándolo junto con Expo, la experiencia de desarrollo ha mejorado mucho
  • Llevo mucho tiempo compartiendo código entre Android e iOS, pero compartir la UI era una pesadilla
    La lógica compleja la compartíamos con C/C++/Rust, pero al final eso te deja con tres lenguajes distintos
    KMP y Swift for Android permiten compartir todo solo con Kotlin o Swift, así que queda mucho más limpio
    Este enfoque es mucho más realista y eficiente que los frameworks que fuerzan compartir la UI