«

»

Ene 15

iOS SDK vs Android SDK

Hoy os traigo un tema que seguro que dará mucho de que hablar. Durante estos últimos tiempos, donde los dispositivos móviles han tomado una posición privilegiada en la sociedad mundial, el debate que más se comenta entre todo aquél que tiene un dispositivo móvil es la superioridad de iOS sobre Android o viceversa.

A estas alturas todavía no hay una respuesta convincente y estad tranquilos porque no la habrá. Es imposible descifrar qué sistema operativo es mejor por lo que nos debemos basar en lo más conveniente para cada individuo. Pero este blog habla sobre informática y programación y hoy voy a desarrollar el articulo bajo este punto de vista.

La pregunta correcta entonces sería ¿qué sistema operativo es mejor para programar? ¿iOS o Android? A nivel de programador nos debemos basar principalmente en el SDK o entorno de desarrollo. El SDK es aquel programa que nos permite crear aplicaciones para un sistema en concreto.

Entornos de desarrollo

logo sdk

Entonces, ¿qué SDK es mejor? Pues si hablamos propiamente de entorno de desarrollo no hay una respuesta muy clara. Pero vamos a empezar con el punto más negativo de los dos. Éste se lo lleva Apple ya que su entorno de desarrollo sólo se puede utilizar en ordenadores Mac, mientras que el de Android es compatible con cualquier sistema operativo. Pero esto tiene trampa, ya que para desarrollar en Android únicamente utilizamos el lenguaje Java con algunas modificaciones. Así que podemos utilizar cualquier herramienta que nos permita escribir código en Java. Mientras que iOS tiene su propio lenguaje de programación y es normal que sólo haya un IDE que permita escribir código, en este caso es Xcode.

APIs o librerías

Y ¿qué hay de las APIs o librerías de código para poder interactuar con los dispositivos? Pues aquí existe otro contraste muy claro. Google permite usar las librerías públicas (aquellas que manejan aspectos básicos del sistema operativo y que no varian nunca en su llamada) y las librerías privadas (controlan elementos físicos del dispositivo y pueden variar la llamada). Pero ¿qué hay de extraño en esto? Pues que mientras las librerías públicas tratan temas más básicos y cotidianos, las privadas trabajan en una capa inferior y el mal uso de éstas puede comprometer seriamente el funcionamiento del aparato. Por eso Google no recomienda el uso de estas últimas pero las aprueba.

En cambio, Apple no aprueba en su App Store ninguna aplicación que haga uso de librerías internas o modificaciones de aspectos privados de los dispositivos. De ahí que esté prohibido hacer el Jailbreak en estos dispositivos, todo lo contrario que con Android donde incluso algunas aplicaciones de la Play Store necesitan hacer el root (equivalente al Jailbreak) para que funcionen.

De todas formas, sean públicas o privadas, la calidad de las librerías de Android es muy buena ya que es un sistema abierto y todo el mundo puede aportar su granito de arena. Y en el caso de iOS, sabemos que Apple no malgasta ni una pizca de fuerza en documentar excelentemente su sistema operativo y además, de una manera magnífica.

Interfaces gráficas

Otro punto clave a la hora de comparar SDKs es el diseño de interfaces gráficas. Un programador debe dedicar mucha importancia a cómo verá el usuario final su aplicación y, por supuesto, necesita que este proceso sea lo más sencillo posible.

Pues bien, Android funciona parecido a como lo hacen las webs. Como el catálogo de dispositivos que funcionan con Android es infinito, nos encontramos con una variedad de características tremendas, y si tuviéramos que tener en cuenta todas, sería imposible acabar una aplicación en una vida humana. Por ello, trata los elementos de la interfaz según su posición relativa en la pantalla en la que se encuentra y se adapta a las diferentes pantallas y resoluciones.

Por contra, iOS funciona de manera diferente. Hay tan sólo unos pocos dispositivos que corran iOS así que Apple ha decidido crear un sistema de diseño de interfaz diferente para cada dispositivo. O sea, si queremos crear una interfaz para iPad tenemos una serie de elementos que quizás no se encuentren en el sistema de diseño para el iPhone. O incluso algunos elementos que existen para el iPhone 3G tienen su propia implementación para el iPhone 5 ya que la resolución y la pantalla no es la misma.

Claro, como podemos ver, por una parte Android nos permite familiarizarnos con una sola interfaz que se irá adaptando sola pero que no permite sacar todo el rendimiento que cada dispositivo ofrece. Por otro lado, iOS nos da esa opción cuando nos ofrece elementos únicos para cierta interfaz.

Estudio de mercado

Ya hemos desgranado un poco algunas diferencias que existen sobre los dos SDKs y parece bastante difícil sacar una conclusión sobre cuál es mejor para programar. Para ello, os muestro un par de infografías donde se puede ver cómo son aceptadas por los usuarios las aplicaciones según el sistema operativo. Esto nos dará una idea de que plataforma es mejor para programar.

Datos mercado 2013

En la primera vemos claramente el dominio que tiene Android en el mercado actual con el aproximadamente 75% de los dispositivos, muy por encima del 18% que tiene Apple. Esto puede dar a entender que si se programa una aplicación para Android el número potencial de usuarios que se la pueden descargar es infinitamente superior a los de iOS.

Bien, ahora echemos un vistazo a la segunda infografía.

Infografía mercado apps 2013

Como vemos claramente, el primer aspecto que se trata es el de la generación de beneficios. Y aquí es cuando Android pierde toda credibilidad. Mientras que iOS es capaz de generar más de 5 millones de dólares/día para sus desarrolladores, Android únicamente genera 1 millón/día. Este dato es tremendamente definitorio a la hora de decantarse por un sistema para lanzar nuestra aplicación. Pero hay más, por ejemplo vemos en el mapa del mundo que la aceptación en Asia y Europa de las aplicaciones iOS es muy superior a las de Android. Y esto es muy bueno para nosotros ya que nos encontramos en el continente europeo.

Pero no todo va a ser buenas noticias para Apple. Por ejemplo, la infografía nos desvela que la Play Store ofrece mucha más facilidad a un usuario para encontrar una aplicación enfrente de la App Store. Aquí los resultados son magníficos para Google, sin ninguna duda. Y otro dato a favor de Android es que siempre ofrece aplicaciones más baratas que iOS. En la Play Store el precio máximo de una app no puede pasar los 200 dólares mientras que en tienda de la empresa de la manzana nos encontramos con aplicaciones que llegan al tope de 999 dólares, una burrada.

Aún así, una ventaja en la tienda de Apple es que sólo podemos poner 7 precios diferentes a nuestra creación, mientras que en la tienda de Google tenemos 29 opciones diferentes, lo que complica la cosa para el usuario final.

Conclusión

Ha sido una entrada larga donde se han tratado un gran número de detalles e información para al final tener que decir que no se puede decantar claramente por un sistema u otro. A nivel de SDK hemos visto que tanto uno como otro tienen ventajas e inconvenientes que únicamente pueden ser valorados por la opinión de cada uno.

Mientras que si vemos algunas pinceladas sobre el mercado de las aplicaciones, cabe decir que quizás todavía esté por encima iOS sobre Android, siempre desde la vista de un programador que desea desarrollar un proyecto para dispositivo móvil. Aún así hay que tener en cuenta ciertos aspectos como el público al que se dirige la aplicación o las condiciones de ésta.