Taula de continguts:
- Joe Simpson (@kennydude) - Boid
- Christophe Versieux - BeTrains - SNCB Bèlgica; HoloEverywhere
- Matthew Runo - Zappos
- Josh Burton - jRemote
Android funciona amb diversos dispositius, cosa que significa que també funciona amb diverses mides i resolucions de pantalla. Moltes persones diuen això de "fragmentació". No t’importa el fet que fa anys que utilitzen productes dissenyats i desenvolupats de la mateixa manera a l’escriptori. Aparentment, si no tot és exactament igual, obté l’etiqueta de "fragmentació".
Hi ha diferents maneres d’afrontar els problemes que es plantegen quan s’utilitzen pantalles de diferents mides i densitats. Apple disposa de llistats separats per a aplicacions dissenyades per a l'iPhone i l'iPad. Microsoft crea un nou ecosistema per als seus dispositius de pantalla gran. Android proporciona una manera als desenvolupadors de fer que la mateixa aplicació funcioni de manera diferent per a pantalles diferents. Hi ha bons i dolents en cada mètode, però ens centrarem en Android aquí.
A Android, les aplicacions poden ajustar el disseny per a pantalles de diferents mides així com la resolució. Tot està integrat, però hi ha algunes coses que els desenvolupadors han de declarar al seu codi perquè l'aplicació tingui un bon aspecte. El que cal tenir en compte és com la mida i la densitat de la pantalla canviaran l’aspecte de l’aplicació. El Droid ADN té una pantalla de més alta resolució que la tauleta Motorola XOOM, però no volem veure una disposició de la tauleta per a aplicacions a la pantalla de mida del telèfon.
Un desenvolupador ha de proporcionar recursos (imatges) amb una qualitat prou alta com per tenir una alta resolució (no importa una resolució insanamente alta) i assegureu-vos d’utilitzar unitats de píxels independents de densitat a l’hora de dissenyar el disseny. Això és el que impedeix que les coses com els botons i altres controls siguin realment grans en pantalles de baixa densitat com el Galaxy S2 o que siguin realment minúscules en pantalles d’alta densitat com l’ADN.
Sembla complicat, però la majoria d’aquestes coses les feu a l’hora de codificar una aplicació. Tot el desenvolupador ha de fer és fer les declaracions correctes i proporcionar els recursos adequats per suportar qualsevol mida (tant física com de resolució) o maquetació. Fins i tot diverses aplicacions de disseny com l’aplicació Google+ utilitzen el mateix codi per cobrir totes les pantalles imaginables.
No intentem jutjar els desenvolupadors aquí. Escriure aplicacions és difícil. Els desenvolupadors d'Android han estat predicant tot això des del llançament de Gingerbread, però, com és de pràctic? Vam preguntar-li a uns quants desenvolupadors, veure què havien de dir després de la pausa.
Més: lloc per a desenvolupadors d'Android de Google.
Vam fer un parell de desenvolupadors (tant grans com petits) un parell de preguntes bàsiques sobre el tema.
- Què tan difícil és complir les directrius?
- Es veu fàcilment en paper, però hi ha algun problema especial que heu vist o de peces que Google no ha tractat?
- De quina manera això va afectar el temps i els costos de desenvolupament?
- Alguna cosa més sobre el tema que voldríeu compartir?
Vaig intentar fer les preguntes el més neutres possibles per no entrar en això amb certs biaixos al seu lloc. En cas de dubte, pregunteu a la gent que ho sap, oi? He fet la meva bona part de la programació, però la codificació a Java i la creació d'aplicacions per a Android és molt diferent a escriure codi en C o codi de màquina, o fins i tot Perl. Hi ha matisos que no entenc, fins i tot si obtenc els mètodes generals de creació d’una aplicació.
Imagino que un bon nombre de vostès són com jo i no conec les complexitats per crear aplicacions d'Android. Només veiem el que diuen els desenvolupadors d’Android i ho fan fàcil. Probablement és per a ells, que han estat escrivint aquest tema des del 2007. Vegem què han de dir les persones que han estat capaços de seguir-los.
Joe Simpson (@kennydude) - Boid
Joe és membre de Team Boid, i també publica aplicacions pel seu compte. Ell (i la resta del seu equip) són un bon exemple de desenvolupadors independents amb una passió per Android que han acumulat algunes aplicacions sorprenents.
Seguir les directrius és bastant difícil, sobretot si voleu una aplicació magra, però la gent vol compatibilitat posterior. Una de les coses més molestes és veure com sembla alguna cosa a d.android.com/design, però res sobre com fer-ho.
Un punt dèbil és refrescant quan físicament no podeu utilitzar el GCM a causa de Twitter i no voleu utilitzar el PtR. A més, les aplicacions de Google configuren les seves directrius. Prenem, per exemple, el panell de diapositives, Google+ ho fa de manera diferent que YouTube (tot i que sé que la biblioteca de suport ho solucionarà).
També podeu arribar a un punt i no hi ha cap document sobre alguna cosa (per exemple, EdgeEffect).
Sóc estudiant, per la qual cosa els costos no ho veig, i sí, es necessita temps, però els vostres usuaris us encantarà. Bàsicament, els espectacles en directe (ADiA, clínica d’aplicacions, horari d’oficina) són imprescindibles (per desgràcia) tot i que no poden oferir comentaris sobre les aplicacions de Google.
El Boid aviat serà prop de codi obert (sí!) I podreu trobar l'aplicació a Google Play. Aquí també hi trobareu totes les aplicacions de Joe (hi ha algunes joies).
Christophe Versieux - BeTrains - SNCB Bèlgica; HoloEverywhere
Christophe ha creat nombroses aplicacions per a Android, incloses BeTrains (SNCB Belguim): una aplicació amb un disseny magnífic que mostra què es pot fer amb una aplicació ben construïda. Mentre que la majoria dels Estats Units no l’utilitzaran mai (és una aplicació d’horaris de trens per a carrils belgues) val la pena instal·lar-la només per veure com s’ho fa bé. La gent de l’Europa occidental certament ho sap.
A més, ha co-desenvolupat HoloEverywhere, una biblioteca que altres desenvolupadors poden utilitzar per crear aplicacions d'estil Holo per a Android 2.1 i versions posteriors. Amb molts telèfons que encara funcionen amb pa de gingebre, aquest és un autèntic regal per als desenvolupadors que volen mantenir actualment les seves aplicacions.
No és difícil en absolut. De debò. La part difícil arriba quan el client demana apartar-se d’aquestes directrius!
Recordo un client que volia que posés pestanyes a la part inferior de la pantalla, botons d’iPhone a tot arreu, commutació a l’estil d’iPhone i aquest projecte va ser realment difícil d’aconseguir i realment vaig perdre molt de temps i diners.
Vaig estar realment enfadat amb ell quan va preguntar totes aquestes coses estúpides, i només va pensar que era un desenvolupador mandrós.
Ara tinc molt de contacte amb ell i estem reescrivint totalment la seva aplicació, creem codi impressionant eliminant totes aquestes funcions inútils i creem una aplicació per a Android "pura". Crec fermament que els clients i empreses només tenen coneixement d’aquestes directrius.
Biblioteques com ActionBarSherlock, HoloEverywhere (la meva creació), UnifiedPreferences i SlidingMenu són realment fàcils d’utilitzar i proporcionen en algunes línies de codi una experiència d’usuari fantàstica.
El temps i el cost, com he dit, es redueixen al mínim seguint les directrius de Google. Els fragments i les carpetes de disseny són realment fàcils d’utilitzar (i més important de reutilitzar): una aplicació per a tauletes només agafeu un fragment de codi de la disposició del telèfon i no s’ha de reescriure res. Els petits canvis en l'aplicació per a telèfons es reflecteixen immediatament a l'aplicació per a tauletes, ja que s'utilitza el mateix fragment.
Alguns projectes sorprenents són creats per la comunitat, no sempre per part de Google. Algunes persones, molt actives a Google+ com Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling, … (sempre tinc por d'oblidar persones importants) són molt instructives. Els desenvolupadors només necessiten saber on mirar i el desenvolupament d’Android serà fàcil per a ells.
Podeu trobar BeTrains a Google Play i voldreu fer una ullada a HoloEverywhere si esteu interessats en el desenvolupament d'Android.
Matthew Runo - Zappos
En contrast amb alguns dels desenvolupadors independents més petits amb els quals vam parlar, també vam parlar de Matthew a Zappos. Zappos és una corporació minorista web i probablement té un pressupost dedicat al disseny tant al seu lloc web com a les seves aplicacions. També és una empresa que compro amb regularitat, però això no tenia cap importància i el Matthew desconeix que sóc un client freqüent quan es va presentar voluntari.
A Zappos, ja que som minoristes, ens hem de fixar en primer lloc amb la nostra pròpia marca. Molt divertit, divertit i una mica fora de la paret. Dit això, tots dos som fidels a les directrius de disseny d'Android, i tot el que fem a la interfície d'usuari es pren de l'esperit d'aquestes regles. Fa un any, la nostra aplicació era principalment un port iOS segons la seva aparença i funcionament. Avui, és (crec) una joia del que podeu fer a Android. Seguim les directrius sempre que sigui possible, i els nostres dissenyadors treballen a partir d’elles com a punt de partida.
Les directrius de disseny no són tot i acaben, al final només estan per intentar impulsar el disseny d’aplicacions d’android perquè siguin més coherents. Hem descobert que la majoria de les "noves" biblioteques de codi obert que hem utilitzat han acabat com a part de les directrius (menú lliscant, botó de calaix).
Les directrius no haurien de ser mai una retenció. Algunes coses, la navegació general, han de ser coherents perquè l'aplicació "funcioni". Tot el demés: comenceu a les directrius i executeu-lo amb el vostre disseny. Volem que la nostra aplicació sigui la NOSTRA aplicació, de manera que no podem fer només el tema de base d’holo.
Enguany, bàsicament hem començat per una reescriptura inicial de la nostra aplicació per treballar amb fragments. En els darrers 6 mesos hem treballat molt per afegir suport per a tauletes de 7 "i actualment estem treballant amb suport de 10". El més difícil de fer és provar dispositius, però tenim un gran equip de QA que ajuda amb això. Hem tingut 2 persones treballant a temps complet a la nostra aplicació des del mes d’agost més o menys, abans d’això era una persona a temps complet.
Creo que les línies de fons són les directrius de disseny d’android que ens ajuden a agilitzar el nostre procés i, per tant, a reduir costos. Ho sentim, la majoria de dissenyadors de iOS, de manera que tenir un gran recurs com design.android.com és una ajuda fantàstica per aconseguir que s’iniciïn a l’ecosistema Android.
Puc dir que les opcions de disseny de Zappos funcionen bé, i la meva dona té un armari ple de roba, moneders i botes que reforcen la meva reivindicació. Feu una ullada a la seva aplicació per a Android de Google Play.
Josh Burton - jRemote
Josh ha escrit moltes aplicacions petites per a Android i la seva aplicació jRemote (és un controlador per al popular programa de jDownloader PC) és un exemple perfecte de com utilitzar dissenys per crear una aplicació que es vegi bé al telèfon i a la tauleta. Maximitza l’ús de la pantalla del dispositiu i et proporciona la informació que busques exactament com t’ho esperaves.
El compliment de les directrius de disseny és molt senzill, sempre que us encaixin des del primer moment. Desenvolupar una aplicació sencera i, al final, tornar enrere i intentar implementar dissenys de fragments / tauletes, etc. serà una pèrdua de temps, esforç i frustració. Però si teniu previst l'aplicació, desenvolupeu-los amb fragments des del primer moment i creeu els vostres recursos per a totes les cubetes dpi adequades, us permetrà desenvolupar brisa i, realment, no us heu de dedicar gaire temps a pensar en les directrius. I si us enganxeu, els documents de disseny són a només un clic. Són un gran recurs.
Realment em frustra que tants dispositius no tinguin dissenys de tauletes. Si la vostra aplicació està construïda amb fragments, afegir una disposició de la tauleta es pot fer en 30 minuts. Sincerament, és tan fàcil.
Crec que per a molts desenvolupadors, no disposen de dispositius de tauleta per provar-los, i l'ús de l'emulador pot ser un dolor. Però les noves eines d’ADT que s’acaben de publicar fan que sigui molt més fàcil. La visualització de configuració múltiple a l'editor de disseny significa que podeu veure com es mostra el disseny en 5-6 mides de pantalla diferents alhora. I és ràpid. Per descomptat, encara haureu de provar un emulador / dispositiu eventualment, però definitivament accelera el flux de treball.
jDownloader és un programa útil per utilitzar al vostre escriptori i jRemote sembla una forma meravellosa de controlar-lo. Si no és res, descarregueu-la de Google Play i feu una ullada només per veure com una aplicació pot ser senzilla i bella alhora.
Hem sentit molts altres desenvolupadors que pràcticament diuen les mateixes coses. Aquí estem fora de la sala per enumerar-los. El que és bàsic és que si teniu previst avançar, les directrius per a desenvolupadors d'Android funcionen realment en la majoria dels casos. Ens complau sentir-ho i continuarem gaudint d’aplicacions fantàstiques i donant suport a desenvolupadors que treballen molt.