¿Es posible hacer aplicaciones de Android con Swift?

Ahora que Apple hizo el anuncio de hacer Swift de código abierto, esta es definitivamente una posibilidad en los próximos años. Las grandes preguntas son:

1) ¿Debería Swift compilar a Dalvik / ART? Esto probablemente requiera hacer un back-end LLVM a Dalvik / ART. Esto será lo opuesto a un enfoque RoboVM, y ha habido algunos intentos de hacer LLVM a Bytecode, por lo que podría funcionar.

2) Debería Swift compilarse a la salida NDK (Android nativo). Probablemente este sería un enfoque más convencional para la arquitectura LLVM. El truco es que el NDK obtiene una API muy cruda para construir la interfaz de usuario, por lo que los desarrolladores tendrán que volver a implementar el conjunto de componentes de la interfaz de usuario.

3) ¿Debería Swift ser solo un contenedor del conjunto de componentes de la interfaz de usuario de Android? Esto funcionará bien con el n. ° 1.

4) ¿Debería Swift intentar imitar el modelo MVC de iOS y el componente UI tanto como sea posible? Esto probablemente será mejor con el n. ° 2.

Mi sensación es que la fruta más baja (que todavía requiere bastante trabajo) es la compilación Swift a Dalvik / ART bytecode (# 1) con acceso completo a Dalvik / ART componente / biblioteca y ser una envoltura en componentes y construcciones de Android UI ( # 2). Ahora, la pregunta es si valdrá la pena todo el esfuerzo.

Por lo general, “imposible” nunca es una respuesta a preguntas tecnológicas.

¿Se pueden crear aplicaciones de Android en Clojurescript? Bueno, si compila eso en Javascript y lo ejecuta a través de React Native, entonces sí. Hace algunos años, la gente habría pensado que era una idea loca, pero CLJSRN es CL ojurescript J ava S cript R eact N ative, y tarde ha sido bastante popular.

Entonces, es posible. Mira aquí manzana / rápido

Pero desde un punto de vista práctico, esto es algo muy investigativo . No será posible crear aplicaciones de producción con este enfoque, ya que tendrá que depender de muchas bibliotecas Java y, de todos modos, tendrá que escribir mucho código Java.

Si te gusta la sintaxis Swift, te sugiero que aprendas Kotlin y hagas aplicaciones de Android en Kotlin. Tiene soporte de primera clase, es 100% interoperable con Java y tiene un paradigma de sintaxis y programación más cercano a Swift.

Parece que Google está pensando en esa dirección recientemente: Google puede estar considerando usar Swift en Android. Esto tiene sentido, especialmente después de la demanda de Oracle contra Google, que hizo que Google elimine el código Java de Oracle de Android. Además, Swift es más fácil de aprender, más seguro, más rápido y menos detallado que Java.
Google tendría que trabajar un poco para permitir a los desarrolladores escribir aplicaciones de Android con Swift, incluida la construcción de un tiempo de ejecución rápido, manejar la compilación de Swift a C / C ++ para algunas partes y construir reemplazos a sus API y SDK de Java para Android. También es posible que Google elija otro idioma que esté más cerca de Java para una transición más fácil.

Si no quieres esperar, Romain Goyet ha escrito esto sobre el código Running Swift en Android.

Hola,

No puede desarrollar una aplicación de Android con la ayuda del lenguaje Swift. Swift está totalmente desarrollado para el desarrollo de iOS.

Para ser sincero, hay muchos errores disponibles en Swift, por lo que, como desarrollador de aplicaciones iOS, sé lo difícil que es desarrollar una aplicación con Swift. Así que no te dejes impresionar con Swift.

El objetivo C es mucho mejor en comparación con Swift, hasta la fecha. No se sobre el futuro.

Gracias.

¡La respuesta es no! Swift es desarrollado y lanzado por Apple, ¡es propiedad de Apple para que usted no pueda! En general, Swift fue compilado por Clang LLVM que es una brillante diferencia entre el compilador de Java / C para la aplicación de Android. Puedes probar con Java / C para crear una aplicación de Android con Android Studio.

Aunque el trabajo está en progreso, ha habido una iniciativa de código abierto para que el código Swift funcione en Android.

Se pueden encontrar más detalles aquí: SwiftAndroid / swift

No.
Actualmente, Swift es una tecnología exclusiva de Apple.

Pero hay intentos de cambiar al lenguaje a otras plataformas.

Compruebe esto RemObjects Silver | Elementos
Están haciendo exactamente lo que quieres.