Diferencias en el desarrollo de apps para iOS y Android

Diferencias en el desarrollo de apps para iOS y Android

Cualquier desarrollador, cuando tenga que desarrollar una aplicación móvil, deberá en primer lugar saber si tiene que elaborarla para un móvil Android (marcas como Samsung, Motorola…) o iOs (los iPhone de Apple) o ambos, porque las diferencias entre uno y otro no son pequeñas.

Entorno de programación

En primer lugar, el entorno de programación. Para Android, tenemos varias versiones del Android Studio que nos sirven para todos los principales sistemas operativos (Mac, Ubuntu, Windows, etcétera), mientras que en el caso del iOS, para proceder de manera oficial, es preciso utilizar el XCode, que solo y exclusivamente está disponible para MacOS (el sistema operativo propio de los ordenadores de la marca de la manzana) para llevar a cabo el diseño y desarrollo de la app.

Lenguaje de programación

Si hablamos del lenguaje de programación, debemos señalar que en Android hicieron una clara apuesta por Java. Este es un lenguaje de programación bastante popular y que se aprende muy fácilmente por parte de usuarios novatos, buscó obtener la mayor base de programadores posible que lo utilizarán. Este lenguaje tiene mucho bagaje y material al alcance: existen multitud de librerías (conjuntos de funciones que se pueden incluir en el proyecto) para todo. El inconveniente de Java es que empieza a quedarse tecnológicamente obsoleto, circunstancia que ya está generando un poco de rechazo en algunos sectores.

Por su parte, en iOS al principio era preciso realizarla la programación con Objective C, un lenguaje antiguo y complicado, aunque bastante eficiente. Recientemente (hace un par de años) Apple sacó al mercado Swift, un lenguaje más moderno y que está causando sensación entre la comunidad de desarrolladores. Puede emplear cualquiera de los dos, el que más le guste.

Fragmentación de Android

Android tiene como problema principal la fragmentación. Existen ahora mismo nada menos que 30 versiones de Android diferentes, y muchas personas no actualizan su sistema operativo (a veces por los problemas que pueda causar, porque su móvil es demasiado antiguo, etc.), por lo que el desarrollador debe tener en cuenta todas esas versiones a la hora de realizar su trabajo, así como los cientos de tamaños de pantalla que puede tener un Android.

Por contra, iOS solo conoce tres tamaños (más los de iPad), por lo que prácticamente con dos o tres versiones de iOS ya se puede llegar al 90% de los usuarios. Su ventaja es que resulta más fácil confeccionar una app que quede casi igual a como se ha imaginado en la mente del desarrollador, porque es factible corregir al pixel tal y como se desee que salgan las cosas en los tres tamaños de pantalla, nos dicen desde Develoop.net, empresa especializada en el desarrollo de apps en Barcelona. Sin embargo, en Android todo debe ser hecho de manera más aproximada. Aun así, es sorprendente lo bien que quedan las cosas en Android a pesar de ese problema con los tamaños de pantalla.

Herramientas para programar en iOS y Android

Es preciso recordar que hay herramientas que te permiten programar a la vez para Android e iOS. Titanium y Phonegap eran las más populares, pero ahora suena más Xamarin, que es muy potente. Cuentan con el punto fuerte de que gracias a ella se puede programar todo de una sola vez y funciona tanto para Android como para iOS, pero lo negativo es que las apps desarrolladas así no son igual de potentes.

En resumen, reduces tiempos y costes de desarrollo a cambio de que la app resulte algo más fea y más lenta, aunque la variación es a veces imperceptible.

Desarrollar en entornos multiplataforma (que van a funcionar en iOS y Android) se recomienda especialmente para desarrollar prototipos o cuando una startup (empresa tecnológica innovadora) está empezando y se espera que la app vaya a tener muchos cambios en poco tiempo. Si se tiene muy claro lo que se quiere hacer, es cuando merece la pena dedicarle tiempo a desarrollar una app nativa para Android y otra para iOS.