Logo fr.androidermagazine.com
Logo fr.androidermagazine.com

S'attaquer à la 'fragmentation': les développeurs ont l'impression de prendre en charge plusieurs écrans

Table des matières:

Anonim

Android fonctionne sur une variété de périphériques, ce qui signifie qu'il fonctionne également sur différentes tailles et résolutions d'écran. Beaucoup de gens appellent cela "la fragmentation". Peu importe le fait qu'ils utilisent des produits conçus et développés de la même manière depuis des années sur leur bureau. Apparemment, si tout n'est pas exactement pareil, cela porte le label "fragmentation".

Il existe différentes manières de résoudre les problèmes qui se posent lorsque vous utilisez des écrans de différentes tailles et densités. Apple propose des listes distinctes pour les applications conçues pour l'iPhone par rapport à l'iPad. Microsoft crée un nouvel éco-système pour ses appareils grand écran. Android offre aux développeurs un moyen de faire en sorte que la même application fonctionne différemment pour différents écrans. Chaque méthode présente des avantages et des inconvénients, mais nous allons nous concentrer sur Android.

Sous Android, les applications peuvent ajuster la disposition des écrans de différentes tailles ainsi que la résolution. Tout cela est intégré, mais les développeurs doivent indiquer quelques éléments dans leur code pour que l'application ait une belle apparence. Il ne faut pas oublier que la taille et la densité de l'écran modifieront l'apparence de l'application. Le Droid DNA a un écran de résolution supérieure à celui de la tablette Motorola XOOM, mais nous ne souhaitons pas voir une disposition de la tablette pour les applications sur un écran de la taille d'un téléphone.

Un développeur doit fournir des ressources (images) d'une qualité suffisamment élevée pour paraître nettes en haute résolution (sans parler d'une résolution incroyablement élevée), et veiller à utiliser des unités de pixels indépendantes de la densité lors de la conception de leur présentation. C’est ce qui empêche des fonctions telles que les boutons et autres commandes d’être très volumineux sur les écrans à faible densité comme le Galaxy S2, ou d’être vraiment minuscule sur les écrans à haute densité comme l’ADN.

Cela semble compliqué, mais la plupart de ces choses sont faites pour vous lorsque vous codez une application. Tout ce que le développeur doit faire est de faire les bonnes déclarations et de fournir les ressources appropriées pour prendre en charge toute taille (physique et résolution) et toute mise en page. Même plusieurs applications de mise en page comme l'application Google+ utilisent le même code pour couvrir tous les écrans imaginables.

Nous n'essayons pas de juger les développeurs ici. Écrire des applications est difficile. Les développeurs Android prêchent tout cela depuis la sortie de Gingerbread, mais est-ce pratique? Nous avons demandé à quelques développeurs à ce sujet, voir ce qu’ils avaient à dire après la pause.

Plus: site de développement Android de Google.

Nous avons posé à une poignée de développeurs (petits et grands) quelques questions de base sur le sujet.

  • Est-il difficile d'adhérer aux directives?
  • Cela semble facile sur papier, mais y a-t-il des problèmes particuliers que vous avez vus ou des parties que Google n'a pas couvertes?
  • Comment cela at-il affecté le temps de développement et les coûts, voire pas du tout?
  • Quelque chose de plus sur le sujet que vous souhaitez partager?

J'ai essayé de rendre les questions aussi neutres que possible afin d'éviter toute partialité. En cas de doute, vous demandez aux personnes qui savent, non? J'ai fait ma juste part de programmation, mais coder en Java et créer des applications Android est très différent de l'écriture de code en C ou en code machine, voire de Perl. Il y a des nuances que je ne comprends pas, même si je connais les méthodes générales de construction d'une application.

J'imagine qu'un bon nombre d'entre vous sont comme moi et ne connaissent pas les subtilités de la création d'applications Android. Nous ne voyons que ce que les développeurs d'Android disent, et ils le font sonner facilement. Pour eux, c’est probablement - ils écrivent ces choses depuis le début depuis 2007. Voyons ce que les gens qui ont été en mesure de les suivre ont à dire.

Joe Simpson (@kennydude) - Boid

Joe est membre de Team Boid et publie lui-même des applications. Lui (et le reste de son équipe) est un excellent exemple de développeurs indépendants passionnés par Android qui ont créé des applications étonnantes.

Il est assez difficile de suivre les directives, surtout si vous voulez une application allégée mais que les gens veulent une compatibilité ascendante. Une des choses les plus ennuyantes est de voir à quoi ressemble quelque chose sur d.android.com/design, mais rien sur la façon de le faire.

Un point faible est rafraîchissant lorsque vous ne pouvez pas physiquement utiliser GCM à cause de Twitter et que vous ne voulez pas utiliser PtR. En outre, les applications de Google constituent leurs propres directives. Prenez par exemple le volet coulissant, Google+ le fait différemment de YouTube (bien que je sache que la bibliothèque de support va, espérons-le, régler ce problème).

En outre, vous pouvez arriver à un point et il n’ya pas de documentation sur quelque chose (EdgeEffect par exemple).

Je suis un étudiant, donc les coûts sont quelque chose que je ne regarde pas, et oui, cela prend du temps, mais vos utilisateurs vont vous aimer. Fondamentalement, les spectacles (ADiA, App Clinic, Heures de bureau) sont indispensables (malheureusement) bien qu’ils ne puissent pas donner d’informations sur les applications de Google.

Boid va bientôt devenir open-source (yay!), Et vous pouvez trouver l'application elle-même dans Google Play. Vous trouverez également toutes les applications de Joe (il y a quelques bijoux) ici.

Christophe Versieux - BeTrains - SNCB Belgique; HoloEverywhere

Christophe a construit de nombreuses applications Android, y compris BeTrains - SNCB Belguim - une application avec une présentation magnifique qui montre ce qui peut être fait avec une application bien construite. Aux États-Unis, la plupart des utilisateurs ne l'utiliseront jamais (c'est une application d'horaire de train pour les rails belges), il vaut la peine de l'installer pour voir à quel point c'est bien fait. Les habitants d'Europe occidentale sont certainement au courant de celui-ci.

En outre, il a co-développé HoloEverywhere, une bibliothèque que d'autres développeurs peuvent utiliser pour créer des applications de style Holo pour Android 2.1 et versions ultérieures. Avec de nombreux téléphones fonctionnant toujours avec Gingerbread, il s'agit d'un vrai régal pour les développeurs qui souhaitent que leurs applications restent à la pointe de l'actualité.

Ce n'est pas difficile du tout. Sérieusement. La partie difficile survient lorsque le client demande à s’éloigner de ces directives!

Je me souviens d'un client qui voulait que je mette des onglets en bas de l'écran, des boutons d'iPhone partout, une bascule de style iPhone et ce projet était vraiment difficile à réaliser et j'ai vraiment perdu beaucoup de temps et d'argent.

J'étais vraiment en colère contre lui quand il a demandé toutes ces choses stupides, et il a juste pensé que j'étais un développeur paresseux.

J'ai maintenant beaucoup de contacts avec lui et nous réécrivons totalement son application, créons un code génial en supprimant toutes ces fonctionnalités inutiles et en créant une application "pure" pour Android. Je crois fermement que les clients et les entreprises doivent simplement être conscients de ces directives.

Les bibliothèques telles que ActionBarSherlock, HoloEverywhere (ma création), UnifiedPreferences et SlidingMenu sont vraiment faciles à utiliser et fournissent en quelques lignes de code une expérience utilisateur impressionnante.

Comme je l'ai dit, les délais et les coûts sont minimisés en suivant les directives de Google. Les fragments et les dossiers de présentation sont vraiment faciles à utiliser (et plus important à réutiliser): une application pour tablette récupère simplement un morceau de code dans la présentation du téléphone et rien ne doit être réécrit. De petites modifications dans l'application pour téléphone sont immédiatement reflétées dans l'application pour tablette, le même fragment étant utilisé.

Certains projets étonnants sont créés par la communauté, pas toujours par Google. Certaines personnes très actives sur Google+, comme Roman Nurik (Google), Reto Meier (Google), Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (j'ai toujours peur d'oublier des personnes importantes) sont très instructives. Les développeurs ont juste besoin de savoir où chercher et le développement d’Android leur sera facile!

Vous pouvez trouver des BeTrains sur Google Play et vous voudrez jeter un coup d'œil sur HoloEverywhere si vous êtes intéressé par le développement Android.

Matthew Runo - Zappos

Contrairement à certains des plus petits développeurs indépendants avec lesquels nous avons parlé, nous avons également entendu Matthew à Zappos. Zappos est une société de vente au détail sur le Web qui dispose probablement d'un budget dédié à la conception sur leur site Web ainsi que sur leurs applications. C’est aussi une entreprise que j’achète régulièrement, mais cela n’a aucune portée et Matthew n’ignore pas que je suis un client assidu lorsqu’il fait du bénévolat.

Chez Zappos, en tant que détaillant, nous devons nous en tenir avant tout à notre propre marque. Wacky, amusant et un peu décalé. Cela dit, nous sommes tous deux profondément convaincus des consignes de conception d'Android - et tout ce que nous faisons dans l'interface utilisateur est inspiré de l'esprit de ces règles. Il y a un an, notre application était principalement un port iOS de son apparence et de son fonctionnement. Aujourd'hui, c'est (je pense) un joyau de ce que vous pouvez faire dans Android. Nous respectons les directives autant que possible - et nos concepteurs s’en inspirent.

Les règles de conception ne sont pas tout à fait exact. En fin de compte, elles sont simplement là pour essayer de faire progresser la conception des applications Android afin qu'elles soient plus cohérentes. Nous avons constaté que la plupart des «nouvelles» bibliothèques courantes que nous avons utilisées ont été intégrées aux directives (menu glissant, croûton).

Les lignes directrices ne devraient jamais être un frein. Certaines choses - la navigation globale - doivent être cohérentes pour que votre application "fonctionne". Tout le reste - commencez par les directives et utilisez votre conception. Nous voulons que notre application soit NOTRE APP - nous ne pouvons donc pas simplement faire le thème de base holo.

Cette année, nous avons essentiellement commencé à réécrire notre application pour travailler avec des fragments. Au cours des 6 derniers mois, nous avons travaillé dur pour ajouter une assistance 7 "pour tablettes et nous travaillons actuellement sur une assistance 10". La chose la plus difficile à faire est de tester sur les périphériques, mais nous avons une excellente équipe d’assurance qualité qui aide à cela. Nous avons eu 2 personnes qui travaillent à plein temps sur notre application depuis août ou à peu près, avant c'était 1 personne à temps plein.

En fin de compte, je pense que les directives de conception Android nous aident à rationaliser nos processus et à réduire ainsi les coûts. Admettons-le, la plupart des concepteurs d'iOS - disposer d'une excellente ressource telle que design.android.com est donc une aide précieuse pour les aider à démarrer dans l'écosystème android.

Je peux dire que les choix de conception de Zappos fonctionnent bien et que ma femme a un placard plein de vêtements, de sacs à main et de bottes qui renforcent ma revendication. Découvrez leur application Android sur Google Play.

Josh Burton - jRemote

Josh est l'auteur de nombreuses petites applications pour Android. Son application jRemote (contrôleur du programme PC très populaire jDownloader) illustre parfaitement l'utilisation de la mise en page pour créer une application aussi belle à la fois pour le téléphone que pour la tablette. Il maximise l'utilisation de l'écran de l'appareil et vous donne les informations que vous recherchez exactement comme vous le souhaitez.

Respecter les directives de conception est assez simple, tant que vous vous y tenez dès le départ. Développer une application complète puis, à la fin, essayer de mettre en œuvre des mises en page fragments / tablettes, etc. sera une perte de temps, d’efforts et de frustration. Mais si vous planifiez votre application, développez des fragments dès le départ et créez vos ressources pour tous les compartiments de résolution appropriés, le développement devient un jeu d'enfant et vous n'avez pas besoin de perdre beaucoup de temps à réfléchir aux instructions. Et si vous êtes bloqué, les documents de conception ne sont qu'à un clic. Ils sont une excellente ressource.

Je suis vraiment frustré par le fait que tant d'appareils n'ont pas de disposition de tablette. Si votre application est construite à l'aide de fragments, vous pouvez ajouter une mise en page pour tablette en 30 minutes. Honnêtement, c'est aussi simple que ça.

Je pense que pour beaucoup de développeurs, ils n'ont pas de tablette sur laquelle tester, et l'utilisation de l'émulateur peut être pénible. Mais les nouveaux outils ADT qui viennent de paraître facilitent grandement les choses. La vue de configuration multiple dans l'éditeur de disposition vous permet de voir à quoi ressemble votre disposition sur 5 à 6 tailles d'écran différentes à la fois. Et c'est rapide. Bien sûr, vous aurez toujours besoin de tester éventuellement sur un émulateur / périphérique, mais cela accélère définitivement le flux de travail.

jDownloader est un programme pratique à utiliser sur votre bureau et jRemote semble être un excellent moyen de le contrôler. Si rien d'autre, téléchargez-la sur Google Play et découvrez comment une application peut être simple et belle en même temps.

Nous avons entendu beaucoup d'autres développeurs dire à peu près les mêmes choses. Nous sommes juste hors de la salle ici pour les énumérer tous. L'essentiel est que si vous planifiez à l'avance, les directives pour les développeurs Android fonctionnent vraiment dans la plupart des cas. Nous sommes heureux de l'entendre et nous continuerons à profiter d'applications géniales et à soutenir les développeurs qui travaillent fort.