Google se estaría planteando utilizar Swift en Android

Echando la vista atrás, corría el año 2014 cuando en su World Wide Developer Conference Apple nos presentaba un nuevo lenguaje de programación destinado a reemplazar Objective C, un lenguaje que haría el trabajo mucho más sencillo a los desarrolladores y las aplicaciones mucho más fluidas y optimizadas a los usuarios, y es que si Apple creando su propio hardware y su propio sistema operativo te parecía poco, creando también su lenguaje de programación le da un control sobre sus productos tan extenso que podría traernos una mejora muy sustancial en la optimización general y en la experiencia de usuario.

Swift fue presentado como un lenguaje sencillo y revolucionario, un lenguaje que marcaría el futuro del desarrollo en muchos aspectos, y es que poco a poco (como es normal, en un lenguaje recién creado) se van añadiendo nuevas posibilidades y Apple va implementando este lenguaje en sus aplicaciones nativas, tanto en iOS, OS X, como en el resto de sus sistemas, pero los planes de Apple no se limitaban ahí, sabían que si a Swift le ponían el candado de la exclusividad no llegaría a tener el éxito que ellos esperaban.

Y por ese motivo Swift fue lanzado de forma “Open Source” o de Código Abierto, esto significa que cualquiera puede experimentar con el sin necesidad de pagar por derechos ni nada por el estilo, es de libre uso, para la comunidad.

Un destino de expansión

Si Apple lanzaba Swift de forma exclusiva para sus sistemas, los desarrolladores se negarían (en su gran mayoría) a aprender un lenguaje para una única empresa, y por ello decidieron dejar al pájaro libre, darle alas y volar, quizás por eso escogieron ese logo…

Lo importante es que al ser de código abierto, cualquier otra empresa puede hacer uso de el e implementarlo en su sistema si así lo desea, y es precisamente eso lo que Google está considerando, implementar Swift en Android.

Levando anclas

Google y Java tienen una larga historia a sus espaldas, Java siempre ha sido el corazón de Android, estos dos nombres siempre han ido de la mano, en lo bueno y en lo malo, y es precisamente lo malo lo que ahora puede hacer de Java un lastre para Android, ya que por si no fuera suficiente con el mal rendimiento que ocasiona a Android tener que virtualizar para ejecutar Java, Oracle (empresa que adquirió Sun Microsystems, original dueña de Java) ha querido su trozo del pastel y ha apuñalado a Google reclamando una gran cantidad de dinero (9.300 millones de USD) por hacer uso de APIs de Java sin su permiso.

Clavo tras clavo está haciendo que Google empiece a buscar alternativas, otras vías de desarrollo para Android que permitan mejorar el rendimiento de este sistema sin romper su filosofía Open Source, y parece ser que Google está hablando con Facebook y UBER sobre la posibilidad de incluir Swift en su sistema operativo móvil.

Un pájaro libre

Swift no es el único lenguaje que Google está considerando, Kotlin es el nombre de otra alternativa que Google contempla, Kotlin sería mucho más sencillo de integrar en Android que Swift debido a las similitudes y compatibilidades existentes, sin embargo este último ocasionaría problemas a los desarrolladores ya que es muy lento a la hora de compilar.

Así pues, Google tiene una “difícil” decisión, o piensa en si mismo y procede a integrar Kotlin en Android, o piensa en los desarrolladores, y sacrificando mucho más tiempo y trabajo por su parte (ya que para introducir Swift en Android habrá que modificar y rehacer muchos aspectos del sistema e incluso las propias bases) hace la tarea de desarrollar para Android mucho más sencilla.

Pero las ventajas de Swift en Android pueden ser mucho más suculentas de lo que a primera vista parecen, y es que de incluir Swift, Google conseguiría acercar Android e iOS sin necesidad de cambiar la filosofía de ninguno de ellos, Google podría desarrollar Swift a su propio antojo sin depender de Apple e incluir funciones propias de Android, pero el uso de Swift podría permitir a los desarrolladores crear aplicaciones para ambos sistemas con una base en común, cosa que haría reducir el número de apps exclusivas para un sistema u otro, y reduciría muchísimo el tiempo y la dificultad para crear 2 versiones de una misma aplicación, orientadas a distintos sistemas.

Integrar Swift en Android también podría ponerle a Google una oportunidad en bandeja, y es que so muchos los desarrolladores que podrían portar sus aplicaciones de iOS a Android optimizándolas correctamente para dicho sistema y proporcionando una experiencia de usuario muy a la par, haciendo que Android e iOS pasen a luchar entre sí únicamente por sus bondades como sistema operativo, y olvidándonos de una vez por todas del número de aplicaciones disponibles en uno u otro, la facilidad de desarrollo para un sistema u otro, la fluidez de las aplicaciones en cada uno de ellos y muchísimos otros problemas que el uso de Java hace daño a Android.

Transición lenta

Nadie le echaría en cara a Google el hacer uso de un lenguaje creado por Apple, personalmente lo veo más loable que reprochable, y es que si tienes una oportunidad de ofrecer un mejor producto o una mejor experiencia a tus usuarios, lo reprochable sería no aprovecharla, y haciendo además puede aprovecharse de su rival para mejorar su propio producto sin pagarle ni un solo centavo.

Esto es algo que a Apple también le vendría bien, cuanto más utilizado sea Swift y más popular se haga, más gente trabajará en el y mayor calidad se aportará a este nuevo lenguaje, algo que puede derivar en mejores aplicaciones para iOS y OS X.

Pero la transición de Java a Swift (de llegar a hacerse) no será inmediata, ni rápida, Google no tiene pensado reemplazar Java, al menos a corto plazo, sino que permitiría el uso de ambos lenguajes en su sistema, dando más opciones a los desarrolladores, algo que de tener éxito con Swift podría terminar en una transición completa, pero esto queda lejos, sobretodo siendo Swift un lenguaje tan reciente y teniendo Google tanto trabajo por delante…

Aún con todo, son muy buenas noticias para todos, todo lo que signifique más aplicaciones, mejor experiencia de usuario y menos problemas, es algo que a los usuarios nos viene de fábula, y a los desarrolladores mejor aún, que verían su trabajo simplificado, algo que daría acceso a mucha más gente con nuevas ideas a este tipo de trabajos, sobretodo siendo Swift un lenguaje destinado a ser sencillo al uso.

Dicho todo, solo nos queda esperar para ver que movimiento hace Google, si recibe o no presiones de otros bandos y como afectan estos movimientos a sus productos finales o a Apple, mientras esperamos, ¿os gustaría ver este escenario hecho realidad?

Los mejores accesorios para tu iPhone
¿Buscas una funda nueva para tu iPhone? ¿Un accesorio para el Apple Watch? ¿Quizás un altavoz Bluetooth? No te pierdas estas ofertas en accesorios y saca el máximo partido al móvil de Apple:
Fundas iPhoneAltavoces BluetoothAccesorios Apple Watch

4 comentarios

  1.   Webserveis dijo

    Con la fragmentación que hay en Android, Google no puede jugar a eso, haberlo pensado antes sr Google

  2.   Toni dijo

    Me parece perfecto. Android debería quitarse de encima la máquina virtual de Java y trabajar directamente sobre el hardware real si queremos que el sistema operativo y las apps aprovechan realmente la potencia de los teléfonos y tablets de hoy día. Y Google no sólo debería ofrecer un lenguaje, sino más de un lenguaje de programación, xomo ocurre con los ordenadores que los hay para todos los gustos y necesidades.
    Y por supuesto, debería ser posible programar para Android EN Android. ¿Qué es eso de tener una tablet decacore, con 4gb de RAM y almacenamiento por un tubo… y tener que ir a un PC vulgaris para programarle algo? Hay que conseguir estas dos cosas, y hay que conseguirlas ya o además de la fragmentación, Android será un sistema estancado.

  3.   Zerh dijo

    Realmente el autor del articulo debió documentarse mejor respecto a muchas cosas. Hay cosas que no guardan ni si quiera el minimo de relacion. Los problemas de performance que habian en Android se debian al poco hardware de aquellos entonces y que a su ves a que el sistema operativo permitía lo que el de IOS no. Actualmente IOS introdujo multitarea real, y Voila!! Vemos dispositivos Apple con las. Las máquinas virtuales son de hecho, una técnica para lograr ejecución incluso superior a la de lenguajes compilados, aquello del rendimiento no se relaciona. Las maquinas virtuales, como la de .Net (de Microsoft, donde corren los juegos de Xbox) tienen incluso menor rendimiento que la maquina virtual java. Las maquinas virtuales de hoy en dia cuentan con un compilador en tiempo de ejecución, llamado JIT. Que compilan el bytecode a binario la primera vez que se ejecuta, pero antes de dicha compilación, el bytecode es codigo del programador optimizado, y a su vez se optimiza nuevamente a la hora de ser compilado por el JIT. Debes documentar te mejor para la proxima.

  4.   Zerh dijo

    Algo mas, ciertamente Google quiere evitar temas legales, eso tampoco guarda relacion con adoptar Kotlin, ya que Kotlin sigue montado en Java. ya desde hace un tiempo lo he venido usando (desde que era un beta), es Java con esteroides, pudiera decirse que es la versión de Swift que corre en java, se parecen mucho en cuanto a sintaxis, el tiempo de compilación es excelente, no tan veloz como el de Java, pero no es un motivo relevante como se menciona. Otro detalle es que Kotlin ya es usado bastante en el mundo Android, no hay novedad respecto a su uso. Lo que Google deberia hacer es ofrecer frameworks con mejores patrones de arquitectura, y hacer las cosas mas cómodas como lo hacen Android Annotations o como butter knife

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *