¿Qué es más interesante desde el punto de vista del desarrollador? Comenzar con una aplicación hecha para Android puede parece algo muy interesante. Sin embargo, la cuestión es mejor considerarla más de una vez antes de ponerse manos a la obra.
El desarrollador de aplicaciones tiene siempre la duda delante: ¿por dónde empiezo, Android o iOS?. Ante una primera visión de los datos, los más inmediatos, muchos deciden que comenzar por Android es la mejor decisión, volviéndose luego hacia el desarrollo de aplicaciones para iOS. Sin embargo, Dave Feldman, cofundador de Emu no está nada de acuerdo con esto.
En un artículo extenso y concienzudo, Feldman explica con pelos y señales lo que él llama como "la falacia de Android primero". Por si no lo conocéis, Emu es un servicio de mensajería aparecido en 2012. En su momento el pequeño equipo tras Emu decidió comenzar lanzando la aplicación para Android. ¿Por qué? Muy sencillo, en primer lugar Android te permite simplemente sustituir su servicio de mensajería utilizando el mismo medio, lo que supone una Teóricamente, hacer aplicaciones para Android es más sencillo que para iOSadopción del usuario más fácil. En segundo, aunque los usuarios de Android, en general, tienen menos tendencia a pagar por contenidos y aplicaciones, son más globalmente, así que no hay nada que temer.
Por último, explica Feldman, en el debate sobre el desarrollo de aplicaciones para iOS o para Android la última decisión la ganó la idea de que hacer aplicaciones para Android es más sencillo que para iOS, incluyendo la posibilidad de sobrepasar los límites de la odiada fragmentación que a todos nos lleva de cabeza. Incluso existen grandes ejemplos por parte de interesantes compañías que han demostrado que Android puede ser la base de grandes aplicaciones con una experiencia de usuario cuidada y elegante. Parece que apostar en primer lugar por Android es la decisión correcta, ¿verdad?
No es oro todo lo que reluce
Feldman afirmaba en su artículo que se equivocaron ante hechos prometedores que se volvieron en su contra nada más ponerse manos a la obra con la aplicación. Según cuenta, se lanzaron a desarrollar la aplicación para Android, descartando un prototipo para iPhone que ya tenían disponible, para lo que tuvieron que mejorar sus habilidades en Java y alguna cosa más, lanzando la aplicación en el dos de abril con la esperanza de que, al ser lanzada primero en Android, los usuario supieran apreciar el gesto positivamente. Actualmente, sin embargo, el cofundador opina que tal vez algún día vuelvan a Android, pero no será por el momento debido al pequeño tamaño de su equipo quien piensa que el desarrollo de aplicaciones para iOS es una decisión mejor.
Emu. Fuente: Josh Valcarcel/WIRED
"Nos encontramos con serios problemas de desarrollo", explicaba. Aunque la promesa de una integración con el sistema de SMS/MMS de Android, lo cierto es que, según afirma, la API sobre los SMS de Android no está bien documentada y es cambiada cada cierto tiempo. De hecho con versiones anteriores a Android 4.4, las aplicaciones individuales pueden bloquear a otras aplicaciones para recibir SMS lo que es un problema para tu propia aplicación usando Antes de Android 4.4, las aplicaciones podían bloquear a otras aplicaciones para recibir SMSsel mismo sistema. Los MMS son un sistema tan inconsistente y obsoleto que suponen por si mismo un dolor de cabeza enorme, cosa que empeora increíblemente si tenemos en cuenta la fragmentación.
De hecho, la fragmentación, que normalmente se encuentra en un estado de negación permanente por parte de los usuarios de Android, supone una dificultad añadida a las aplicaciones de Android, algo que con el desarrollo de aplicaciones para iOS no ocurre. Cuando las propias compañías anteponen sus modificaciones particulares, y normalmente no documentadas a un sistema, no es nada raro que esto se traduzca en errores inesperados. Como existen tantas versiones y están tan extendidas, lo que parecía algo positivo de pronto se vuelve una pesadilla. La existencia de tantas versiones de Android tan sutilmente distintas supone una revisión constante y un mantenimiento abrumador que implica tener que estar al tanto de los cambios realizados sobre ellas casi de manera constante.
No todo el esfuerzo es asumible
Por si todo esto fuera poco, Feldman afirma que las herramientas para el desarrollo de aplicaciones en Android, así como su documentación, son mucho peores y más torpes que las utilizadas para el desarrollo de aplicaciones para iOS. Xcode, aunque no es perfecto, al menos es más rápido, limpio y directo. De lejos. Por ejemplo, algunos problemas de los que se queja el cofundador de Emu son problemas de rendimiento con la librería JSON incluida, varios problemas con las capas de texto que desembocaban en auténticos horrores en la UI o fallos en la integración de mapas e imágenes, por citar algunos. Sin contar que la documentación de Google, aunque algo más accesible es mucho más confusa e inconsistente que la necesaria en el desarrollo de aplicaciones para iOS.
La documentación de Google, más fácil de encontrar, es también mas inconsistente y confusaPuesto que la gran mayoría de pequeñas empresas o desarrolladores independientes trabajan en equipos pequeños todo el esfuerzo de trabajar para corregir problemas constantes y suplir fallos en la documentación es algo que no se puede asumir. El desarrollo de aplicaciones para iOS puede pecar de excesivas exigencias pero esto supone la eliminación del 80% de todos estos fallos ya que estás obligado a desarrollar según estas mismas exigencias. Y cuidado, que exigencias no tiene por que significar limitaciones, al menos en cuanto a lo que esperamos de nuestra aplicación.
Además, el mantenimiento posterior y el arreglo de fallos es infinitamente más sencillo al tener que hacerlo para un solo sistema operativo. ¿Qué quiere decir esto? Que el desarrollo de aplicaciones para iOS es más sencillo de llevar por pequeños desarrolladores y que los problemas sufridos con Android están muy mitigados. Por supuesto, desarrollar para Android tiene sus ventajas, pero estas no son siempre asumibles por los desarrolladores de aplicaciones. Antes de dejarse llevar, lo mejor es siempre hacer un buen análisis de la situación, aunque claro, no hay mejor maestro que la experiencia.
Continúar leyendo...