texto:   A-   A+
eliax

Editorial eliax: iPhone vs Android, la batalla se avecina...
eliax id: 4563 josé elías en mar 16, 2008 a las 10:20 AM (10:20 horas)
eliaxPrácticamente de la noche a la mañana, todo el desastre que era el desarrollar para plataformas móviles, no solo aparenta haberse ordenado, sino que además polarizado en dos plataformas: La plataforma iPhone de Apple, y la plataforma Android de la OHA (Open Handset Alliance) liderado por Google.

Hasta este momento, yo he sido uno de los que se ha mostrado renuente a desarrollar aplicaciones para plataformas móviles, pues las opciones que tenía eran estas:

- WAP: Una tecnología de páginas web para dispositivos móviles, pero ultra-limitado. Es como desarrollar en HTML para cavernícolas. Aun me sorprendo de la gente que evangeliza esta tecnología que obviamente será dejada en el olvido muy pronto. La ventaja de WAP es que el código en el servidor puede ser escrito en cualquier lenguaje y en cualquier plataforma, pero la experiencia del interfaz del usuario es simplemente abismal y arcaica.

- Windows Mobile: Hay que admitir que es este es uno de los frameworks mas completos y potentes en el mercado, pero en mi opinión es una simple extensión del paradigma de Windows a la palma de la mano, lo cual creo es el camino incorrecto a seguir. No es que Windows Mobile sea malo o no, sino que su paradigma de cientos de menús y ventanas simplemente no es eficiente en un entorno portátil, y el hecho de que el iPhone haya sido tan exitoso con primeros usuarios es testamento de que hay mejores paradigmas para hacer las cosas.

- RIM, Nokia, Palm, SonyEricsson, Symbian. Todos estos ofrecen tecnología propietarias, y sin un rumbo fijo en el mercado. Desarrollar para estas plataformas es un peligro a largo plazo.

- J2ME (Java 2 Micro Edition): Esta plataforma hasta el momento ha sido la mejor opción para desarrolladores, pues es la que menos aísla a los programadores de los miles de distintos celulares y sus peculiaridades. Es esta la razón por la cual hasta el momento ha sido la plataforma dominante en cuanto a desarrollo de aplicaciones, en particular juegos sencillos. Sin embargo, la capacidad de programar de manera genérica evita por lo general que tengas acceso a tecnologías avanzadas en celulares de última generación que aun no son soportadas en la máquina virtual de Java.

El los últimos meses sin embargo, se ha tornado claro que la gran batalla va a ser librada entre dos nuevos contendientes: El iPhone y Android.

Por un lado tenemos al iPhone, el cual uno podría debatir que se ha convertido en el celular inteligente mas popular del mundo, así como el de mayor crecimiento. Su elegante interfaz le ha abierto los ojos no solo al público, sino que a la comunidad de ingenieros de software, quienes ya han creado centenares de aplicaciones nativas y miles de aplicaciones web.

Por el otro lado tenemos al nuevo chico del vecindario, Android, una plataforma que planea ofrecer no solo lo mejor de las tecnologías propietarias, sino que hacerlo de una manera totalmente abierta.

Analicemos ahora los componentes básicos de ambas plataformas y veamos que es lo que tenemos...

Proveedor de la Tecnología
El iPhone es 100% Apple, quien lo fabrica y vende. Esto hace que sea bien fácil crear aplicaciones para el iPhone ya que puedes estar seguro que tus programas funcionarán con cualquier modelo del iPhone, ya que son todos virtualmente idénticos.

Android, por otro lado, es un conjunto de especificaciones y código de referencia y no un producto en sí, por lo que cualquiera puede desarrollar un celular inteligente con tecnología Android, lo que significa el riesgo en un futuro de que una aplicación no funcione exactamente igual entre un celular y otro. Sin embargo, aparenta que la OHA y Google han pensado bien esto y nos aseguran que ese no debería ser el caso, aunque esto solo lo sabremos en la práctica cuando tengamos celulares con los cuales comparar.

Sistema Operativo
Apple utiliza el mismísimo corazón del sistema operativo OS X que utiliza en sus Macs de escritorio y portátiles, lo que lo hace no solo bien estable, sino que bastante potente. En el iPhone el sistema operativo es totalmente cerrado y controlado solo por Apple.

Android utiliza a Linux como su sistema operativo base, y a Java como su punto de acceso con APIs, lo que es una excelente combinación, ya que provee la estabilidad y flexibilidad de Linux, con la elegancia y facilidad de programación de Java.

Lenguaje de Programación
iPhone es programado con Objective C, un lenguaje tipo C, orientado a objetos, cuya elegancia es comparable a la de Java. El nuevo SDK permite acceso a los APIs del sistema operativo, pero no a modificar el sistema operativo mismo.

Android es programado en Java, pero dependiendo del proveedor, es posible programar directamente en C o hasta en Assembly, pero no es recomendado. El proveedor (es decir, el que fabrique un celular Android) tiene acceso completo al sistema operativo y puede no solo crear drivers compatibles con el API de Android, sino que hasta nueva funcionalidad si lo desea.

Interfaz de Usuario
Hasta el momento, el interfaz nativo del iPhone aparenta ser el mas elegante e intuitivo. Este se programa con una versión multi-toque de Cocoa (el módulo de interfaz gráfico de OS X) llamado Cocoa Touch con Objective C. En cuanto a aplicaciones tipo web, se utiliza HTML con técnicas estándares de AJAX.

En cuanto a Android, para aplicaciones nativas se utilizan componentes nativos que exponen sus APIs a Java, y el grado de complejidad es similar al del iPhone. En cuanto a aplicaciones web, aparte de soportar HTML y AJAX, pueden estar seguros que debido a su arquitectura abierta que pronto podremos también contar con Google Gears, lo que significa aplicaciones web que se pueden utilizar de manera desconectada del Internet, lo que es una gran ventaja.

Navegador de Internet
El iPhone utiliza una versión especial del mismo Safari que se utiliza en el OS X de las Mac, y es bien asombroso en su funcionamiento y renderizador visual. Sin ni siquiera la menor duda es el mejor navegador de Internet en una plataforma móvil en estos momentos.

En cuanto a Android, sucede que utiliza el WebKit, que aunque pocos lo sepan, es el motor interno de renderización en el cual está basado Safari en el iPhone, por lo que pueden esperar una experiencia similar en el despliegue de páginas web. En android, sin embargo, será posible tener acceso en un futuro a páginas con objetos Flash y Java, debido a la arquitectura abierta de Android, así como a navegadores alternativos como Firefox u Opera.

Librerias de APIs
Ambas plataformas ofrecen un juego de librerías de APIs bastante completo, sin embargo en Android es posible tener acceso mas bajo al sistema operativo, así como a dispositivos externos conectados por puertos de expansión de todo tipo.

Restricciones
En el iPhone todas las aplicaciones se descargarán por el App Store de Apple, y ya que Apple controlará esta tienda por Internet, hay muchas restricciones que tendrá. Por ejemplo, no se permitirán aplicaciones de VoIP (telefonía por Internet) sobre redes celulares, sino que solo sobre redes WiFi, lo que significa adiós a la utilidad de Skype. Tampoco se permitirá aplicaciones que interpreten código (es decir, adiós a navegadores que compitan con Safari, y a programas que utilicen Javascript o que descarguen objetos ejecutables en demanda, entre otras cosas).

En Android, ninguna de estas restricciones aplican, y al contrario, toda la plataforma fue diseñada con amarres que permite que uno defina un módulo por otro (como puede ser, declarar un navegador de Internet alternativo como el preferido sobre el que viene instalado).

Facilidad de Uso
El iPhone ofrece una experiencia de fácil uso sin paralelo en el mercado, pues ya que Apple controla todo, hay para todo lo que quieras hacer una sola manera de hacer cualquier cosa. Eso significa que es muy fácil sincronizar tu iPhone a tu PC, o comprar canciones, videos y aplicaciones por Internet.

Android, por otro lado, no especifica cómo se deban hacer cosas básicas como sincronizar datos o obtener otros módulos o media por Internet, por lo que dependerá del proveedor ofrecer una experiencia placentera, y como ya sabemos, pocos hacen un trabajo cercano al que hace Apple. Sin embargo, esperen que eventualmente surjan maneras de hacer tales cosas que se conviertan en estándar por defecto (como lo hizo Installer.app en el iPhones desbloqueados), pero para eso falta un tiempo y no hay garantías.

Rapidez y ventajas de desarrollo
El iPhone ofrece un SDK que es asombroso, que incluye un simulador, un debugueador y diagnosticador remoto, y un creador de interfaces gráficos. Su gran limitante: Requiere una Mac con OS X para desarrollar. Sin embargo, es mas fácil utilizar estas herramientas que en el caso de Android.

Android por otro lado, ofrece un SDK que es mayoritariamente dependiente de un IDE externo como Eclipse. Sin embargo, ofrece un excelente simulador y tiene interfaces para debugear remotamente. Además funciona en varias plataformas. Por ahora su limitante es que no ofrece una manera gráfica de crear interfaces de usuario, aunque se espera que terceros ofrezcan tales herramientas.

Costos de desarrollo
En el iPhone el SDK es gratuito, pero si quieres publicar aplicaciones para el iPhone en el AppStore, el costo es US$100 dólares anuales. Así mismo, si no tienes una Mac, tienes que considerar el costo de una Mac para desarrollar.

El SDK de Android es totalmente gratuito y sin restricciones en cualquier plataforma.

Soporte para desarrolladores
Apple será quien dará el soporte primario tanto al iPhone como a las herramientas de desarrollo y la documentación, aunque se espera que surjan portales de terceros que formen comunidades de programadores.

En cuanto a Android, Google, el OHA y la misma comunidad serán los que provean todos estos servicios de soporte, y sin duda surgirán empresas que ofrecerán sus servicios comerciales equivalentes a los de Apple, así como comunidades de programadores en portales públicos por Internet.

Disponibilidad de Software de terceros
El iPhone disfruta de una buena selección de software por la comunidad de hackers que han desbloqueado al iPhone, y pueden estar seguros que muchas de esas aplicaciones saldrán en el oficial App Store en Junio junto con el firmware 2.0, por lo que el iPhone tiene un buen futuro como una plataforma sólida con una saludable selección de programas. Además, Apple se ha esforzado en invitar a muchas empresas comerciales para que creen programas para el iPhone, y muchas han respondido favorablemente, como son EA (Electronic Arts), SEGA, SalesForce, etc. Según Apple, en los primeros 4 días de poner el SDK en Internet, la descargaron unas 100,000 veces.

Android, por su parte, también aparenta que tendrá una buena selección de software cuando salga al mercado, en particular debido a lo sencillo que ha resultado programar para la plataforma con el SDK beta de Android. Sin embargo, aun no sabemos de los planes secretos de empresas comerciales para esta plataforma, aunque pueden estar seguros que muchos tienen a Android en sus miras, y es posible que veamos anuncios al respecto cuando empiecen a surgir los primeros modelos de celulares inteligentes con Android a fin de año. Además, es muy posible que la comunidad del Software Libre apoye mas a Android que al iPhone, debido a su naturaleza abierta. Según Google, a la fecha el SDK de Android se ha descargado mas de 750,000 veces desde que se anunció oficialmente hace un par de meses.

Futuro y garantía de inversión a largo plazo
Con el iPhone el futuro está bien asegurado, pues Apple planea tener al iPhone soportado por un buen tiempo, y el hecho de que ha sido un éxito de ventas y aceptación tan sensacional significa que estamos en una sociedad a largo plazo con el iPhone.

En cuanto a Android, aun no podremos comprar celulares Android hasta finales de este año o inicios del próximo, por lo que habría que esperar a ver su aceptación por el público. Sin embargo, el hecho de que Google esté respaldando a Android con todo lo que tiene, y que varias de las empresas fabricantes de celulares del mundo planea soportar la plataforma, aparenta significar que Android tiene un buen futuro por delante, pero no podemos cegarnos y hay que aceptar que el iPhone le lleva una muy buena delantera.

Potenciales Clientes de Aplicaciones
Ya existen mas de 4 millones de usuarios del iPhone, y para cuando salgan los primeros dispositivos de Android al mercado es muy posible que ya existan 10 millones de iPhones en el mundo, por lo que al menos al corto plazo es mucho mas rentable ofrecer software para la plataforma iPhone.

Sin embargo, debido a que Android será ofertado por muchísimos mas proveedores que el iPhone, y en mas mercados, es posible que Android alcance al iPhone en ventas en un par de años, y después hasta lo sobrepase.

Aplicaciones Especializadas
Si deseas crear aplicaciones que no son tradicionales, el iPhone es limitado a solo las capacidades que Apple te ofrece en sus APIs, pues no tienes acceso (al menos por el momento) ni siquiera al puerto de expansión del iPhone (aunque con ingenuidad nos podemos imaginar integrar equipos externos via WiFi o quizás Bluetooth).

Si lo que deseas es crear aplicaciones especializadas, como puede ser integrar lectores de código de barra y RFID, la mejor opción es claramente Android, ya que permite integrarse con todo, de una manera totalmente abierta. Si no existe algo, lo creas tu mismo y lo integras. Es posible que debido a esto Android sea mas adoptado que el iPhone en aplicaciones industriales.

Facilidades nativas
Todo iPhone, como muchos saben, viene con ciertas particularidades asombrosas, como son un acelerómetro, gráficos en 3D, un sensor de proximidad, un sensor de luz ambiental, una pantalla fenomenal, y un sistema multi-toque para interactuar.

Por el otro lado, Android tiene soporte para todas estas tecnología popularizadas por el iPhone, pero no son obligatorias a ser implementadas en todos los celulares Android. Esto significa que los programadores no deben contar con que todo dispositivo tenga estas facilidades, aunque sí tienen manera de saber cuando no están presentes, y de aceptar maneras alternativas de interacción. Esto, aunque puede ser una restricción, también significa que a largo plazo Android podría soportar mas tecnologías que el iPhone, como puede ser soporte nativo para GPS.

¿Qué significa todo esto?
Por si no lo han notado aun al leer todo lo anterior, no es fácil elegir una plataforma sobre otra en estos momentos, pues es muy posible que ambas triunfen a largo plazo. A corto plazo si deseas hacer dinero vendiendo aplicaciones, la opción es clara con el iPhone, el cual ya tiene millones de potenciales clientes a los cuales le puedes vender tus creaciones.

Si por otro lado tienes una idea revolucionaria que está limitada por la restricciones de Apple con el iPhone, entonces Android es tu mejor opción.

Para cualquier otro uso, por ahora es mejor considerar ambas plataformas. Una opción interesante para soportar a ambas plataformas se hará evidente muy pronto (en Junio posiblemente) cuando Sun termine de implementar a Java para el iPhone. Sin embargo aun hay dudas si las restricciones legales que Apple ha impuesto en el iPhone permitan que Java se implemente en ese dispositivo, pero de ser posible, eso significaría que con un poco de organización sería posible crear programas que funcionen en ambas plataformas, siempre y cuando aísles el código nativo de cada plataforma en librerías de funciones que se compilen para cada plataforma en particular.

Esto también se haría mas fácil de lo imaginado ya que según Sun, la implementación de Java para el iPhone tomará buena ventaja de sus particularidades nativas (como podría ser el acelerómetro, gráficos 3D, etc). Pero como toda nueva tecnología, hay que esperar y ver para probar lo práctico de todo esto.

Ahora unas últimas palabras de reflexión...

Mucho dirán que no deberíamos soportar a Apple y su iPhone debido a que lo único que busca es mantener control absoluto de la plataforma, manteniéndola cerrada y siguiendo sus reglas. Sin embargo, hay que entender que a diferencia de muchas otras empresas que crean tecnologías cerradas, Apple lo hace con una elegancia y utilidad tal, que para una gran parte de los usuarios simplemente no les importa que la plataforma sea cerrada o no.

Es como si uno viviera en una cárcel, en donde siempre y cuando uno siga las reglas, a uno lo traten como a un rey, ofreciéndole a uno lo mejor de lo mejor, televisores de gran tamaño, lujosos automóviles, casas hermosas y elegantes, y la mejor educación posible. La única restricción es que no puedes salir de la cárcel, pero si estás feliz con todas las comodidades que te ofrecen, es muy posible que muchos decidan quedarse, y eso es precisamente lo que ocurre con el iPhone.

Por el otro lado, Android te ofrece toda la garantía de libertad del mundo, pero a cambio de que trabajes para poder tomar ventaja de esa libertad. Es muy parecido a la opción de la píldora roja o azul que Morfeo le hizo a Neo en la película The Matrix, y no crean que filosóficamente una opción sea mejor que otra, pues influye mucho el punto de vista.

Yo particularmente prefiero la libertad de Android, pero tampoco puedo negar la elegancia, facilidad y utilidad que Apple me ofrece en el iPhone, pero creo que Apple debe tener mucho cuidado con tratar de mantener el iPhone muy controlado, pues de ser así se arriesga a que la industria deje atrás al iPhone, de la misma manera que hace un par de décadas dejó atrás a la Mac en favor de la libertad que ofrecía Windows en ese entonces (y los resultados se hicieron evidentes).

Y noten que al final ni Apple ni Google serán los que ganarán mas con esta guerra que se avecina, sino que nosotros, los consumidores, que seremos beneficiados por los avances que ambas plataformas tratarán de implementar en cada nueva generación de dispositivos para ganarse nuestras mentes, corazones y billeteras...

autor: josé elías

Comentarios

  • muy bueno Elias. Un abrazo.

    Enviado desde mi iPhone :)

  • En mi opinión, lo único malo de la plataforma Windows MObile, es su interface gráfica.... despues de eso es abierta, potente, y completa como tu mismo dices y que a la vez te contradices. No entiendo el afan de minimizar el potencial de MS, y no es cierto que abrá una bi-polarización, sino quizas mas competidores en el mercado.

    Recuerda que WinMo aparte de ser abierta, potente y completa, tendría el apoyo de la mayoria de los fabricantes... e incluso recientemente el apoyo de Nvidia para agregar funcionalidades avanzadas de video juegos, que probablemente compita con el PSP.... Para mi no es válido tu subestimación de Windows Mobile.

    ***Vean esta página el apoyo explícito de Nvidia a la plataforma Windows Mobile:

    http://www.nvidia.com/page/handheld.html

    • Jose,

      Dije "hay mejores paradigmas para hacer las cosas", no que Windows Mobile no servía.

      Es como decir que la máquina de escribir Underwood Five era una excelente máquina de escribir, pero que un así, había un mejor paradigma (el procesador de palabras en un PC).

      Similarmente, Windows Mobile es un buen producto, pero ya existen muchas mejores maneras de hacer las cosas, ejemplificadas por el iPhone y Android.

      Nota que al menos que Microsoft tenga los peores ingenieros del mundo (y que no es el caso), que puedes estar seguro que Microsoft ya está pensando en un sucesor a Windows Mobile (y quien sabe, tal vez hasta le dejen el mismo nombre), pero hasta que eso no salga al mercado, Windows Mobile en mi opinión profesional, no se le acerca a estas dos nuevas plataformas ni en arquitectura ni en facilidad de uso.

      • Esperemos que el Android esté en el mercado antes de hacer análisis basado en suposiciones... De todos modo, si considero que las plataformas abiertas deberían de superar las plataformas cerradas...

  • no olvidemos los virus tambien...

  • Gracias por el artículo Elías.
    Yo también prefiero la libertad al software propietario y con respecto a la comparación que pusiste sobre la cárcel... pues es cierto, tal vez haya gente que prefiera estar en una cárcel con sus comodidades, pero que no olviden que no deja de ser una cárcel.
    Quién les asegura que el "carcelero" no les va a quitar esas comodidades cualquier día? (por ejemplo, algunas de las tácticas que ha usado Microsoft)
    Con las plataformas abiertas tus comodidades están aseguradas.

    Un saludo

  • tremendo analisis amigo elias, soy uno mas de los que esta a la espera de lo que deparara el futuro con todo esto del android, y me imajino en un futuro no muy lejano talvez un hibrido entre android y ubuntu mobil, o que desarollen la plataforma de tal manera que se pueda crear una simbiosis en un solo equipo con estas dos plataformas que prometen muchos cambios a futuro, y por supuesto el iphone no se queda atras ... hay que aplaudir estas novedosas plataformas que se unen a un verdadero cambio en lo que a comunicacion se refiere..

  • Don Elias, con respecto a la interfaz del android, creo que a largo plazo no han tomado en cuenta, es que gracias a que Android esta pasado sobre linux, espero que cuando salga a las luz los teléfonos veremos aplicaciones como Aiglx, Beryl o Emerald que haran que las interfaces de estos teléfonos sean tan geniales como las que vemos en sistemas operativos Linux.

    Con respecto a Windows creo que el Mobile 7 sea un poco más atractivo aunque Microsoft parece no darle mucha importancia, especial cuando el mismo Iphone ha dado una movida hacia Windows con facilidad de conexión para Exchanger. De algo han valido las acciones que tiene en Apple (bueno creo que esto es verdad)

  • La libertad es algo que no se cambia por nada. GNU/LINUX...

  • Elias!!


    Buenisimo esta... pero el quien ganara la batalla será el android tiene toda la de ganar

  • Muy buen articulo eliax, al parecer la plataforma que tiene las de ganar a largo plazo es android (por cuestiones de tendencia al software libre) sin embargo, vemos que apple a marcado un rumbo en lo que a interfaces e interaccion se refiere, una nueva vision, que vemos que google a copiado para su plataforma, realmente va a ser una batalla muy larga, en la que apple tendra que dejar las viejas politicas si quiere seguir compitiendo.
    un saludo y sigue asi.
    PD: Veremos aplicaciones hechas por eliax?

  • No es posible comparar al iPhone con Android. El primero es muy sectario, el desarrollo es especifico para un móvil, mientras que la gracia de Android es que una misma aplicación se pueda ejecutar en diferentes móviles. Seria algo más parecido a Symbian que al iPhone... y la ventaja con la que parte Android es que sea un entorno más abierto.

  • Tremendo analisis,

  • Por mi parte prefiero windows Mobile seguido de Symbian. los mejores del mercado, en ese orden

  • sin duda.. android es el sistema operativo del futuro.

  • Bueno, seria como decir: elegancia y seguridad a corto y medio plazo, Iphone. Grandes posibilades y libertad a largo medio o plazo. No?
    Saludos.

  • Interesante artículo Eliax!

  • Fascinante Artículo.

  • Podriamos decir que el Apple y Microsoft tienen esto en comun: "Mucho dirán que no deberíamos soportar a Apple y su iPhone debido a que lo único que busca es mantener control absoluto de la plataforma, manteniéndola cerrada y siguiendo sus reglas. Sin embargo, hay que entender que a diferencia de muchas otras empresas que crean tecnologías cerradas, Apple lo hace con una elegancia y utilidad tal, que para una gran parte de los usuarios simplemente no les importa que la plataforma sea cerrada o no."

  • ¡Hola! Fue muy informativo e interesante de leer tu artículo que ha publicado aquí. En cuanto a mí, prefiero iPhone mejor, creo que es más conveniente en uso.

  • Diciembre de 2011... A punto de entrar en el 2012 y a 4 años de este artículo en el que tengo que quitarme el sombrero y aplaudir. Fenomenal artículo y futurista puesto que como has dicho, hemos ganado los clientes...yo prefiero Android pero no dejo de rendirme al Iphone, en este caso 4s, pero como has dicho que tenga cuidado Apple que al final se comen sus terminales por la falta de libertad...Hay veces que aun teniendo todo en la carcel te apetece descubrir si hay algo más...(ya pasó desde el Paraíso con Adan y Eva). Enhorabuena por el artículo lo recomendare cuando me pregunten por uno u otro terminal.

  • Gracias por tomarte el tiempo de realizar este tipo de artículos, permiten tener un panorama mas amplio de acuerdo a las necesidades de cada quien, me has ayudado mucho, saludos.

  • Gracias por el artículo y una descripción tan detallada y brillante, estaba pensando en conseguir uno para mí, y creo que han tomado la decisión final ahora.

  • Por mi parte prefiero windows Mobile seguido de Symbian. los mejores del mercado, en ese orden

  • En cuanto a mí, prefiero iPhone mejor, creo que es más conveniente en uso.

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
5 + 7 = requerido (control anti-SPAM)
 

"Un simple curioso, que curiosamente agradece tu curiosidad.

Feliz 6º aniversario y gracias.
"

por "piternauta" en may 21, 2011


en camino a la singularidad...

©2005-2014 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax