Quelle est la meilleure façon de porter une application iPhone sur Android ?


Je pense qu'une meilleure question serait de savoir en quoi les applications natives iPhone et Android sont différentes ? Le portage d'une plateforme à une autre est rarement la meilleure approche car les choses peuvent se casser. En général, vous voudrez exploiter le même contenu, la même structure et les mêmes graphiques, mais construire à partir de la base pour chaque plateforme.

La mise en page et les boutons


La première chose que Google recherche lorsqu'il envisage de présenter une application Android dans le Play store, ce sont les coins ronds sur les boutons. Google n'apprécie pas que des éléments "iPhone-ish" se retrouvent dans des applications Android natives. Les boutons de commande, boutons et onglets Android ont tendance à être carrés. Ne construisez pas une application Android qui ressemble et se sent comme une application iOS.

En ce qui concerne la navigation, l'équipe Android aime dire à sa communauté de développeurs "la navigation n'est pas votre marque." La plupart des applications Android bien conçues, diront-ils, partagent des principes de navigation communs, c'est-à-dire le bouton de fermeture, la barre de titre alignée à gauche et la recherche intégrée à la barre de titre. Les utilisateurs veulent pouvoir accéder rapidement au contenu de votre app, ils n'apprécieront peut-être pas d'avoir à apprendre votre nouvelle navigation excentrique.

Pour les procédures courantes comme le partage et même les paramètres de l'app, les apps Android ont tendance à utiliser des éléments simples de la marque Android. Il n'est pas nécessaire de styliser chaque écran. Les utilisateurs d'Android sont habitués à des écrans de paramètres très simples en dehors de l'application. Pas besoin d'ajouter du sexy là où il n'y en a pas. Par exemple, sous Android, il est très courant qu'un bouton de partage déclenche une API de partage universelle qui affiche une liste de toutes les applications installées pouvant recevoir du contenu via une URL. Il n'est pas nécessaire de construire une expérience de partage personnalisée qui expose uniquement le partage Facebook et Twitter.

Taille du fichier

Les apps Android ont tendance à être plus légères. Pourquoi ? Parce que les applications Android sont de toutes formes et de toutes tailles, et ont tendance à être plus bas de gamme et sur des réseaux lents dans les pays en développement. Gardez à l'esprit que vos utilisateurs Android peuvent télécharger votre application sur un appareil Android bas de gamme bon marché sur un réseau 2G, alors essayez de la garder aussi légère que possible.

Dans le même ordre d'idées, les applications iPhone nécessitent un écran d'accueil PNG tandis que Google décourage les développeurs Android d'inclure un écran d'accueil. Ces fichiers PNG peuvent vraiment s'additionner si vous avez une version pour chaque langue. Essayez de réduire le texte et de minimiser le nombre de fichiers PNG personnalisés par langue.

Contrôles empruntés

D'après mon expérience, de nombreuses bibliothèques et contrôles iOS gratuits pour les animations et les transitions peuvent être trouvés dans la communauté Cocoa Controls. L'équipe Android aura souvent du mal à imiter les fonctionnalités offertes par les contrôles Cocoa gratuits et basiques. Dans la plupart des cas, il est logique que l'équipe Android ignore la fonctionnalité exacte d'un contrôle iOS et trouve la meilleure façon de construire une fonction similaire dans l'environnement Android. Et certains de ces contrôles sont "iPhone-ish" dans la mesure où ils imitent les animations courantes d'iOS7.

Dans les deux cas, les développeurs aiment emprunter des contrôles et des bibliothèques existants et open-source partout où ils le peuvent pour gagner du temps. Dans de nombreux cas, il n'y a pas besoin de développer quoi que ce soit de personnalisé si une bibliothèque gratuite existe.