Logo ro.androidermagazine.com
Logo ro.androidermagazine.com

Combaterea „fragmentării”: dezvoltatorii sună pe suportul mai multor ecrane

Cuprins:

Anonim

Android rulează pe o varietate de dispozitive, ceea ce înseamnă că rulează și pe o varietate de dimensiuni și rezoluții ale ecranului. Mulți oameni numesc această „fragmentare”. Nu vă deranjează faptul că folosesc ani de zile produse proiectate și dezvoltate la fel în desktop. Aparent, dacă totul nu este exact la fel, se obține eticheta „fragmentare”.

Există moduri diferite de a rezolva problemele care apar atunci când utilizați ecrane cu dimensiuni și densități diferite. Apple are liste separate pentru aplicații proiectate pentru iPhone și iPad. Microsoft creează un nou ecosistem pentru dispozitivele sale cu ecran mare. Android oferă o modalitate pentru dezvoltatori de a face aceeași aplicație să funcționeze diferit pentru ecrane diferite. Există bune și rele despre fiecare metodă, dar vom pune accentul pe Android aici.

În Android, aplicațiile pot ajusta aspectul pentru ecrane de dimensiuni diferite, precum și rezoluție. Toate acestea sunt încorporate, dar există câteva lucruri pe care dezvoltatorii trebuie să le declare în codul lor pentru ca aplicația să arate bine. Lucrul de reținut este modul în care dimensiunea și densitatea ecranului vor schimba aspectul aplicației. Droid ADN are un ecran cu rezoluție mai mare decât tableta Motorola XOOM, dar nu dorim să vedem o dispunere a tabletei pentru aplicațiile de pe ecranul de dimensiuni ale telefonului.

Un dezvoltator trebuie să ofere active (imagini) de o calitate suficient de ridicată pentru a arăta ascuțit la rezoluție înaltă (nu vă interesează rezoluția nesăbuit de mare) și trebuie să vă asigurați că utilizați unități de pixeli independente de densitate atunci când proiectați aspectul lor. Acest lucru împiedică lucrurile ca butoanele și alte comenzi să nu fie cu adevărat mari pe ecrane cu densitate joasă precum Galaxy S2 sau să fie cu adevărat minuscule pe ecrane de înaltă densitate precum ADN-ul.

Pare complicat, dar majoritatea acestor lucruri sunt făcute pentru dvs. atunci când codificați o aplicație. Tot dezvoltatorul trebuie să facă este să facă declarațiile corecte și să ofere resursele potrivite pentru a susține orice dimensiune (atât fizică, cât și rezoluție) sau aspect. Chiar și mai multe aplicații de layout precum aplicația Google+ folosesc același cod pentru a acoperi fiecare ecran imaginabil.

Nu încercăm să judecăm dezvoltatorii aici. Scrierea aplicațiilor este grea. Dezvoltatorii Android predică toate acestea de la lansarea Gingerbread, dar cât de practic este? Am întrebat câțiva dezvoltatori despre asta, să vedem ce au de spus după pauză.

Mai mult: site-ul pentru dezvoltatori Android Google.

Am pus o serie de dezvoltatori (mari și mici) câteva întrebări de bază pe această temă.

  • Cât de dificil este să respectați liniile directoare?
  • Pare ușor pe hârtie, dar există probleme speciale pe care le-ați văzut sau părți pe care Google nu le-a abordat?
  • Cum a afectat acest lucru timpul și costurile de dezvoltare, dacă nu?
  • Mai aveți ceva despre subiectul pe care doriți să îl împărtășiți?

Am încercat să fac întrebările cât mai neutre, astfel încât să nu intrăm în această situație cu o părtinire la loc. Când aveți îndoieli, întrebați oamenii care știu, nu? Mi-am făcut partea corectă de programare, dar codarea în Java și construirea aplicațiilor pentru Android este foarte diferită de scrierea codului în C sau codul mașinii sau chiar Perl. Există nuanțe pe care nu le înțeleg, chiar dacă primesc metodele generale de construire a unei aplicații.

Îmi imaginez că un număr bun dintre voi sunteți ca mine și nu știu complexitatea construirii de aplicații Android. Vom vedea doar ce spun dezvoltatorii Android și le face să sune ușor. Pentru ei, probabil este - au scris chestiile acestea din 2007 până în 2007. Să vedem ce au de spus oamenii care au putut să-i urmeze.

Joe Simpson (@kennydude) - Boid

Joe este membru al echipei Team Boid și, de asemenea, publică aplicații pe cont propriu. El (și restul echipei sale) sunt un excelent exemplu de dezvoltatori independenți, cu pasiune pentru Android, care au creat câteva aplicații uimitoare.

Respectarea orientărilor este destul de dificilă, mai ales dacă doriți o aplicație slabă, dar oamenii doresc compatibilitate înapoi. Unul dintre cele mai enervante lucruri este să vezi cum arată ceva pe d.android.com/design, dar nimic despre cum să faci asta.

Un punct slab este revigorant atunci când fizic nu poți folosi GCM datorită Twitter și nu vrei să folosești PtR. De asemenea, aplicațiile Google alcătuiesc propriile lor orientări. Luăm, de exemplu, panoul de diapozitive, Google+ o face diferit de YouTube (deși știu că biblioteca de asistență va rezolva acest lucru).

De asemenea, puteți ajunge la un punct și nu există documentație despre ceva (de exemplu, EdgeEffect).

Sunt student, deci costurile sunt ceva pe care nu îl privesc și da, este nevoie de timp, dar utilizatorii tăi te vor iubi. Practic, spectacolele live (ADiA, clinica App, orele de birou) sunt obligatorii (din păcate), deși nu pot oferi feedback despre aplicațiile Google.

Boid va începe în curând open-source (da!) Și puteți găsi aplicația în sine în Google Play. De asemenea, veți găsi toate aplicațiile lui Joe (există câteva bijuterii acolo) chiar aici.

Christophe Versieux - BeTrains - SNCB Belgia; HoloEverywhere

Christophe a construit numeroase aplicații Android, inclusiv BeTrains - SNCB Belguim - o aplicație cu un aspect superb care arată ce se poate face cu o aplicație bine construită. În timp ce majoritatea din SUA nu o vor folosi niciodată (este o aplicație pentru programarea trenurilor pentru șinele belgiene), merită instalată doar pentru a vedea cât de bine se face. Oamenii din vestul Europei știu cu siguranță despre acesta.

În plus, el a dezvoltat co-dezvoltat HoloEverywhere, o bibliotecă pe care alți dezvoltatori o pot utiliza pentru a construi aplicații în stil Holo pentru Android 2.1 sau mai nou. Cu multe telefoane care rulează încă Gingerbread, acesta este un adevărat tratament pentru dezvoltatorii care doresc să își păstreze actualitatea aplicațiile.

Nu este deloc dificil. Serios. Partea dificilă vine atunci când clientul cere să se îndepărteze de aceste orientări!

Îmi amintesc de un client care dorea să pună file pe partea de jos a ecranului, butoane iPhone peste tot, comutare în stil iPhone și acest proiect a fost foarte greu de realizat și am pierdut foarte mult timp și bani pe el.

Am fost într-adevăr supărat pe el când a întrebat toate aceste chestii stupide și doar a crezut că sunt un dezvoltator leneș.

Acum am o mulțime de contacte cu el și rescriem în totalitate aplicația sa, creăm un cod nemaipomenit prin eliminarea tuturor acestor funcții inutile și creăm o aplicație Android „pură”. Cred că clienții și companiile trebuie să fie la curent cu aceste orientări.

Biblioteci precum ActionBarSherlock, HoloEverywhere (creația mea), UnifiedPreferences și SlidingMenu sunt foarte ușor de utilizat și oferă în câteva linii de cod o experiență minunată pentru utilizatori.

Timpul și costul, așa cum am spus, sunt reduse prin respectarea regulilor Google. Fragmentele și folderele de aspect sunt cu adevărat ușor de utilizat (și mai important de reutilizat): o aplicație pentru tabletă trebuie doar să preiați o bucată de cod din aspectul telefonului și nimic nu trebuie rescris. Micile modificări ale aplicației pentru telefon sunt imediat reflectate în aplicația pentru tabletă, deoarece se folosește același Fragment.

Unele proiecte uimitoare sunt create de comunitate, nu întotdeauna de Google. Unii oameni, foarte activi pe Google+ precum Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (întotdeauna mi-e teamă să uit oameni importanți) sunt foarte instructivi. Dezvoltatorii trebuie doar să știe unde să caute, iar dezvoltarea Android le va fi ușor!

Puteți găsi BeTrains pe Google Play și veți dori să aruncați o privire la HoloEverywhere dacă sunteți interesat de dezvoltarea Android.

Matthew Runo - Zappos

Spre deosebire de unii dintre cei mai mici dezvoltatori independenți cu care am discutat, am auzit și de la Matthew la Zappos. Zappos este o companie de vânzare cu amănuntul web și are probabil un buget dedicat proiectării atât pe site-ul lor, cât și în aplicațiile lor. Este, de asemenea, o companie pe care o achiziționez de la regulat, dar acest lucru nu a avut nicio importanță, iar Matthew nu știa că sunt un client frecvent atunci când a făcut voluntariat.

La Zappos, de când suntem retailer, trebuie să ne legăm în primul rând de propria noastră marcă. Trudit, distractiv și puțin de pe perete. Acestea fiind spuse, amândoi suntem credincioși puternici în ghidurile de proiectare Android - și tot ceea ce facem în UI este luat din spiritul acestor reguli. În urmă cu un an, aplicația noastră a fost în mare parte un port iOS, după cum arăta și funcționa. Astăzi, este (cred) o bijuterie a ceea ce poți face în Android. Respectăm regulile ori de câte ori este posibil - iar designerii noștri lucrează din ele ca punct de plecare.

Liniile directoare de proiectare nu sunt toate și sfârșesc toate - până la urmă sunt doar acolo pentru a încerca să împingă de-a lungul designului aplicațiilor Android, astfel încât să fie mai consecvente. Am descoperit că majoritatea bibliotecilor open source „noi” obișnuite pe care le-am folosit s-au încheiat ca parte a ghidurilor (meniu glisant, crouton).

Liniile directoare nu ar trebui să fie niciodată reținute. Anumite lucruri - navigare generală - trebuie să fie consecvente, astfel încât aplicația dvs. „funcționează doar”. Orice altceva - începeți la instrucțiuni și executați cu designul dvs. Ne dorim ca aplicația noastră să fie aplicația NOASTRA - deci nu putem doar să facem tema de bază pentru holo.

În acest an am pornit practic de la o rescriere completă a aplicației noastre pentru a lucra cu fragmente. În ultimele 6 luni am muncit din greu pentru a adăuga suport pentru tablete de 7 ", iar în prezent lucrăm la asistență de 10". Cel mai dificil lucru este testarea pe dispozitive, dar avem o echipă QA grozavă, care ajută cu asta. Am avut 2 persoane care lucrează cu normă întreagă în aplicația noastră din august sau ceva mai devreme, înainte de aceasta era o persoană cu normă întreagă.

Cred că linia de bază este, cred, ghidurile de proiectare a Android-ului ne ajută să ne eficientizăm procesul - și, prin urmare, să reducem costurile. Să ne confruntăm cu asta, majoritatea proiectanților de la iOS - deci o resursă excelentă precum design.android.com este un ajutor minunat pentru a-i pune la început în ecosistemul android.

Pot spune că opțiunile de design ale lui Zappos funcționează bine, iar soția mea are un dulap plin cu haine, poșete și cizme care îmi consolidează pretenția. Vezi aplicația lor Android de pe Google Play.

Josh Burton - jRemote

Josh a scris numeroase aplicații mici pentru Android, iar aplicația sa jRemote (este un controlor pentru popularul program de calculator jDownloader) este un exemplu perfect despre cum să folosiți machete pentru a crea o aplicație care arată excelent atât pe telefon, cât și pe o tabletă. Acesta maximizează utilizarea ecranului dispozitivului și vă oferă informațiile pe care le căutați exact cum v-ați aștepta.

Respectarea regulilor de proiectare este destul de directă, atât timp cât rămâneți la ele din start. Dezvoltarea unei aplicații întregi și apoi la sfârșit, înapoi și încercarea de a implementa fragmente / machete etc va fi o pierdere de timp, efort și frustrare. Dar dacă planificați aplicația, dezvoltați din fragmente de la început și creați-vă resursele pentru toate gălețile dpi potrivite, creează o briză și chiar nu trebuie să petreceți mult timp gândindu-vă la orientările. Și dacă te blochezi, documentele de design sunt la doar un clic distanță. Sunt o resursă excelentă.

Chiar mă frustrează faptul că atât de multe dispozitive nu au aspect de tablete. Dacă aplicația dvs. este construită folosind fragmente, adăugarea unei machete a tabletei se poate face în 30 de minute. Sincer, este atât de ușor.

Cred că pentru mulți dezvoltatori, nu au dispozitive tabletă pe care să le testeze, iar utilizarea emulatorului poate fi o durere. Dar noile instrumente ADT tocmai lansate îl fac mult mai ușor. Vizualizarea de configurare multiplă din editorul de aspecte înseamnă că puteți vedea cum arată aspectul dvs. pe 5-6 dimensiuni de ecran diferite simultan. Și repede. Desigur, va trebui totuși să testați pe un emulator / dispozitiv în cele din urmă, dar cu siguranță grăbește fluxul de lucru.

jDownloader este un program la îndemână de utilizat pe desktop, iar jRemote pare un mod minunat de a-l controla. Dacă nimic altceva, descărcați-l de pe Google Play și aruncați o privire doar pentru a vedea cum o aplicație poate fi simplă și frumoasă în același timp.

Am auzit de la mulți alți dezvoltatori care spun cam aceleași lucruri. Am ieșit din cameră aici pentru a le enumera pe toate. Principalul lucru este că, dacă plănuiți mai departe, ghidul dezvoltatorilor Android funcționează într-adevăr pentru majoritatea cazurilor. Ne bucurăm să îl auzim și vom continua să ne bucurăm de aplicații minunate și să sprijinim dezvoltatorii care lucrează din greu.