Cuál es la mejor manera de portar una aplicación de iPhone a Android?

Creo que una mejor pregunta sería ¿en qué se diferencian las aplicaciones nativas de iPhone y Android? Portar de una plataforma a otra no suele ser el mejor enfoque porque las cosas pueden romperse. En general, querrás aprovechar el mismo contenido, la misma estructura y los mismos gráficos, pero construyendo desde cero para cada plataforma.

Diseño y botones

Lo primero que busca Google a la hora de considerar si incluye una aplicación para Android en la Play Store son las esquinas redondeadas en los botones. A Google no le gusta que los elementos "de iPhone" se cuelen en las aplicaciones nativas de Android. Los botones y pestañas de Android tienden a ser cuadrados. No construyas una aplicación para Android que se vea y se sienta como una aplicación para iOS.

Respecto a la navegación, al equipo de Android le gusta decir a su comunidad de desarrolladores "la navegación no es tu marca". La mayoría de las aplicaciones Android bien diseñadas, argumentan, comparten principios de navegación comunes, es decir, el botón de cierre, la barra de título alineada a la izquierda y la búsqueda incrustada en la barra de título. Los usuarios quieren ser capaces de acceder rápidamente al contenido de tu aplicación, puede que no aprecien tener que aprender tu nueva y peculiar navegación.

Para los procedimientos comunes como compartir e incluso la configuración de la aplicación, las aplicaciones de Android tienden a utilizar elementos de la marca Android simples. No es necesario dar estilo a cada pantalla. Los usuarios de Android están acostumbrados a pantallas de configuración muy simples fuera de la aplicación. No hay necesidad de añadir algo sexy donde no corresponde. Por ejemplo, en Android es muy común que un botón de compartir active una API de compartir universal que muestra una lista de todas las aplicaciones instaladas que pueden recibir contenido a través de una URL. No hay necesidad de construir una experiencia de compartir personalizada que sólo expone el intercambio de Facebook y Twitter.

Tamaño del archivo

Las aplicaciones de Android tienden a ser más ligeras. ¿Por qué? Porque las aplicaciones de Android vienen en todas las formas y tamaños, y tienden a ser de gama baja y en redes lentas en los países en desarrollo. Tenga en cuenta que sus usuarios de Android pueden estar descargando su aplicación en un dispositivo Android barato y de gama baja en una red 2G, así que trate de mantenerla lo más ligera posible.

Las aplicaciones para iPhone requieren una pantalla de inicio PNG, mientras que Google desaconseja a los desarrolladores de Android que incluyan una pantalla de inicio. Esos archivos PNG pueden realmente sumar si tienes una versión para cada idioma. Intenta reducir el texto y minimizar el número de archivos PNG personalizados por idioma.

Controles prestados

En mi experiencia, muchas bibliotecas y controles gratuitos de iOS para animaciones y transiciones se pueden encontrar en la comunidad de Cocoa Controls. El equipo de Android a menudo se esforzará por imitar la funcionalidad ofrecida por los controles Cocoa gratuitos y básicos. En la mayoría de los casos tiene sentido que el equipo de Android ignore la funcionalidad exacta de un control de iOS y encuentre la mejor manera de construir una función similar en el entorno de Android. Y algunos de estos controles son "iPhone-ish" en el sentido de que imitan animaciones comunes de iOS7.

En ambos casos, a los desarrolladores les gusta tomar prestados controles y bibliotecas de código abierto existentes siempre que pueden para ahorrar tiempo. En muchos casos no es necesario desarrollar nada a medida si existe una biblioteca libre.