2011-08-22 6 views
14

Mesdames et Messieurs!iOS éléments d'interface utilisateur portage sur Android

Très souvent sur mon travail, je réponds à l'exigence suivante du client, lors du développement d'applications Android: "faire ressembler et application iPhone".

Oui, je sais, que le meilleur moyen est de lui proposer un design Android canonique avec tous ces motifs comme le tableau de bord, en utilisant le bouton menu etc ... Mais parfois ce n'est pas le cas, je dois le faire regarde et anime tout de même. C'est frustrant.

Pouvez-vous les gars, s'il vous plaît me conseiller une bibliothèque android (s'il y en a un) avec des éléments d'interface utilisateur de type iOS? Merci beaucoup d'avance, j'ai hâte d'avoir de vos nouvelles!

+6

Upvote pour la ligne d'ouverture – ingsaurabh

+2

Les éléments de l'interface utilisateur iOS iOS sont ennuyeux et datés maintenant. Ils sont là depuis trop longtemps et l'interface utilisateur a l'air ennuyeuse et a besoin d'un rafraîchissement. Je pense qu'une application Android bien conçue avec barre d'action et tableau de bord semble beaucoup mieux. Ça ne vous aide pas, je sais ... mais c'est pourquoi c'est un commentaire je suppose. –

+0

Oui, c'est vrai. J'aimerais développer une application de conception «native», mais ce n'est souvent pas le cas, lors du développement d'applications de service, et non de produits – Lonkly

Répondre

9

Pour développer commentaire de Martyn, que je suis d'accord avec. Peut-être qu'il ya une bonne raison pour laquelle un client demanderait cela, mais dans de nombreux cas, je parie qu'ils pourraient bénéficier d'être mis au défi sur cette exigence. Si on me présentait cette demande, je demanderais d'abord "Pourquoi?". Peut-être qu'ils avaient répondu comme suit:

  1. nous avons besoin d'une expérience cohérente sur toutes les plateformes, ou
  2. il sera plus rentable de concevoir et d'appliquer une fois à chaque plate-forme, ou
  3. n'a pas d'importance pourquoi, fais-le!

Voici quelques réponses pour chacun:

  1. chaque utilisateur aura généralement un téléphone, et ne nécessitera pas l'expérience sur Android pour être identique à l'iPhone - ils ne se soucient que cela fonctionne et a l'air bien sur leur téléphone. En fait, un utilisateur Android préférerait que vous utilisiez les modèles d'interface utilisateur qui sont plus courants sur la plate-forme, par opposition à la conception pour correspondre à iOS. De même pour un utilisateur d'iPhone.

  2. Nous avons constaté que le fait qu'un designer crée un ensemble de créations pour iOS nous permet d'utiliser à peu près la création telle qu'elle est pour Android. Bien qu'Android puisse avoir des onglets en haut, par opposition au bas, nous sommes toujours capables de prendre les arrière-plans, les styles de boutons, les polices et les combinaisons de couleurs d'une plate-forme à l'autre. Il y aura de légères différences, mais globalement, la marque et le look devraient bien se traduire. Voici un exemple de portage d'un seul design créatif sur plusieurs plates-formes: http://daleburgosdesign.com/

  3. Si vous répondez de la sorte, vous pouvez envisager de transférer le travail. Pixel parfait correspondance entre les plates-formes est difficile à côté des idées proposées dans les réponses précédentes (OpenGL et l'utilisation d'un WebView - via Macarse). Si le client ne peut pas fournir un bon raisonnement pour cette exigence délicate, il peut être préférable de rechercher votre prochain client.

Pas une réponse simple à votre question, mais j'espère que vous le trouverez utile!

3

AFAIK il n'y a pas de bibliothèques de widgets 'iOS-like' pour Android. Pour cette raison, vous pouvez raisonnablement facturer davantage au client pour le développement et le support, ce qui constitue une incitation à respecter la conception et les principes standard de l'interface utilisateur Android.

5

Il n'y a pas de bibliothèque iphone Iphone pour android que je connaisse. Ce que vous pouvez faire est, obtenir le psd de l'iphone GUI et le refaire pour 3 tailles d'android (pour les 3 gammes de taille) et utiliser les éléments de ces psd pour thématiser votre application.

Je reçois ce genre d'exigences similaires. Parfois, il ne sera pas beaucoup sur les regards, mais sur le flux de navigation de l'application et comment de nouvelles vues ou activités sont animées. D'après mon expérience, il n'y a pas de moyen facile de le faire. Donc, je finis par faire beaucoup d'ajustements et de hacks pour faire le travail. Et je facture plus le client. :)

Si vous envisagez d'utiliser des bibliothèques telles que Sencha Touch, elles seront identiques dans tous les téléphones utilisant un navigateur webkit.

+0

il ya quatre gammes de taille - ldpi mdpi hdpi xhdpi –

+0

Merci pour ce bon conseil. Pouvez-vous m'en dire plus sur Sencha Touch? Qu'en est-il de la performance? C'est Javascript, donc c'est une question raisonnable je pense^_^ – Lonkly

+1

Sencha Touch est une bibliothèque javascript qui supporte tous les appareils mobiles avec un navigateur webkit. Ils ont déjà construit ce widget pour tous les contrôles courants dans iOS. Ils ont récemment ajouté des graphiques à leur bibliothèque. J'ai travaillé avec une fois pour un projet et mon expérience était plutôt bonne. Vous pouvez envelopper l'espace téléphonique tout ce qui vous permet d'accéder à l'API native, comme la caméra. Si vous consultez la vitrine dans le forum, vous pouvez voir différentes applications. Ses performances sont assez descendantes pour le javascript. Je ne dis pas qu'il a une vitesse d'application native, mais c'est très bien pour une application web. – blessenm

1

Il n'y a pas de bibliothèque pour afficher les vues iPhone sur Android, mais si vous démarrez les deux applications à partir de zéro, vous avez deux approches possibles pour partager des vues entre les deux plates-formes. Le premier utilise WebView s et code HTML, JS et CSS. Ce type d'application est appelée hybride.

Le second utilise OpenGL. Vous pouvez le faire directement ou en utilisant un cadre comme cocos2d-x.

En fonction de ce que vous voulez, vous devez choisir ce qu'il faut utiliser.