Logo hr.androidermagazine.com
Logo hr.androidermagazine.com

Rješavanje "fragmentacije": programeri zvuče na podršci više zaslona

Sadržaj:

Anonim

Android radi na raznim uređajima, što znači da se pokreće i u raznim veličinama i rezolucijama zaslona. Mnogi ljudi to nazivaju "fragmentacija". Nikad ne zanemarite činjenicu da već godinama koriste proizvode dizajnirane i razvijene na isti način. Očito ako sve nije potpuno isto dobiva oznaku "fragmentacija".

Postoje različiti načini za rješavanje problema koji nastaju kada koristite zaslone različite veličine i gustoće. Apple ima odvojene popise aplikacija namijenjenih iPhoneu u odnosu na iPad. Microsoft stvara novi eko-sustav za uređaje sa velikim zaslonom. Android pruža programerima način da iste aplikacije rade različito na različitim zaslonima. U svakoj je metodi dobro i loše, ali ovdje ćemo se usredotočiti na Android.

U Androidu aplikacije mogu prilagoditi izgled ekrana različitih veličina kao i rezoluciju. Sve je to ugrađeno, ali postoji nekoliko stvari koje programeri moraju izjaviti u svom kodu kako bi aplikacija izgledala dobro. Ono što morate imati na umu je kako će veličina i gustoća zaslona promijeniti izgled aplikacije. Droid DNA ima ekran veće razlučivosti od Motorola XOOM tableta, ali ne želimo vidjeti izgled tableta za aplikacije na ekranu veličine telefona.

Programer mora osigurati dovoljno kvalitetne snimke (slike) da bi oštro izgledali pri visokoj rezoluciji (nema na umu suludo visoke rezolucije) i budite sigurni da koristite piksele neovisne o gustoći pri dizajniranju svog izgleda. Ovo sprečava da stvari poput gumba i drugih kontrola budu stvarno velike na ekranima niske gustoće poput Galaxy S2 ili od stvarno sitnih na ekranima velike gustoće poput DNK.

Zvuči komplicirano, ali većina se tih stvari radi za vas kodiranjem aplikacije. Sve što programer treba učiniti je dati prave deklaracije i pružiti pravu imovinu za podršku bilo koje veličine (fizičke i razlučivosti) ili izgleda. Čak i više aplikacija za izgled, poput aplikacije Google+, koriste isti kod za pokrivanje svakog zamislivog zaslona.

Ne pokušavamo ovdje prosuditi programere. Pisanje aplikacija je naporno. Androidovi programeri propovijedali su sve ovo od izdavanja Gingerbread-a, ali koliko je to praktično? Pitali smo nekoliko programera o tome, pogledajte što su imali reći nakon prekida.

Više: Google-ovo web mjesto za razvojne programere Android.

Postavili smo nekoliko programera (i velikih i malih) nekoliko osnovnih pitanja na tu temu.

  • Koliko je teško pridržavati se smjernica?
  • Na papiru to izgleda lako, ali postoje li neki posebni problemi ili dijelovi koje Google nije pokrivao?
  • Kako je to utjecalo na vrijeme i troškove razvoja, ako ih uopće ima?
  • Još nešto o temi koju biste željeli podijeliti?

Pokušao sam učiniti pitanja što je moguće neutralnijim, kako ne bismo ulazili u to s nekim pristranostima. Kad sumnjate, pitate ljude koji znaju, zar ne? Odradio sam pošten udio programiranja, ali kodiranje u Javi i izrada Androidovih aplikacija vrlo se razlikuje od pisanja koda u C-u ili strojnom kodu, ili čak Perlu. Postoje nijanse koje ne razumijem, čak i ako primim općenite metode izrade aplikacije.

Pretpostavljam da je dobar broj vas takvih poput mene i ne poznaje sitnice izrade Androidovih aplikacija. Vidimo samo što kažu programeri za Android i to zvuči lako. Za njih to vjerojatno jest - oni pišu iz temelja od 2007. godine. Pogledajmo što kažu ljudi koji su ih mogli pratiti.

Joe Simpson (@kennydude) - Boid

Joe je član Team Boida, a također samostalno objavljuje prijave. On (i ostatak njegovog tima) sjajan su primjer neovisnih programera sa strašću prema Androidu koji su izbacili neke nevjerojatne aplikacije.

Slijediti smjernice prilično je teško, pogotovo ako želite mršavu aplikaciju, ali ljudi žele kompatibilnost s leđima. Jedna od najnezapadnijih stvari je vidjeti kako nešto izgleda na d.android.com/design, ali ništa o tome kako to zapravo učiniti.

Slaba točka je osvježavajuća ako fizički ne možete koristiti GCM zbog Twittera, a ne želite koristiti PtR. Također, Googleove aplikacije smišljaju vlastite smjernice. Uzmimo za primjer dijapozitiv za klizanje, Google+ to čini drugačije nego YouTube (iako znam da će knjižnica za podršku to naditi).

Također, možete doći do točke i ne postoji dokumentacija o nečemu (na primjer EdgeEffect).

Ja sam student, tako da su troškovi nešto na šta ne gledam, i da, treba vremena, ali vaši korisnici će vas voljeti. U osnovi, emisije uživo (ADiA, klinika za aplikacije, radno vrijeme u uredu) moraju (nažalost), iako ne mogu dati povratne informacije o Googleovim aplikacijama.

Boid uskoro ulazi u open-source (yay!), A samu aplikaciju možete pronaći u Google Playu. Ovdje ćete pronaći i sve Joe-ove aplikacije (tamo su neke dragulje).

Christophe Versieux - BeTrains - SNCB Belgija; HoloEverywhere

Christophe je izgradio brojne Android aplikacije, uključujući BeTrains - SNCB Belguim - aplikaciju s prekrasnim izgledom koji pokazuje što se može učiniti s dobro izgrađenom aplikacijom. Iako ga većina u SAD-u nikada neće koristiti (to je aplikacija rasporeda vlakova za belgijske šine), vrijedi instalirati samo da biste vidjeli koliko je dobro napravljeno. Ljudi iz zapadne Europe sigurno znaju za ovo.

Pored toga, zajednički je razvio HoloEverywhere, biblioteku koju drugi programeri mogu koristiti za izgradnju aplikacija u stilu Holo za Android 2.1 i novije verzije. S mnogim telefonima koji i dalje imaju medenjake, ovo je prava poslastica za programere koji žele da njihove aplikacije budu u toku.

To uopće nije teško. Ozbiljno. Do teškog dijela dolazi kada kupac zatraži da se makne od tih smjernica!

Sjećam se kupca koji je želio da stavim kartice na dno ekrana, svugdje gumbe iPhonea, prebacivanje u stilu iPhonea i ovaj je projekt bio zaista teško postići i stvarno sam izgubio puno vremena i novca na njemu.

Bio sam jako ljut na njega kad je pitao sve te gluposti, a on je samo mislio da sam lijen programer.

Sada imam puno kontakata s njim i u potpunosti prepravljamo njegovu aplikaciju, stvaramo fantastičan kôd uklanjajući sve ove beskorisne značajke i stvarajući "čistu" Android aplikaciju. Kupci i tvrtke jednostavno trebaju biti svjesni tih smjernica, ja čvrsto vjerujem.

Knjižnice poput ActionBarSherlock, HoloEverywhere (moja kreacija), UnifiedPreferences i SlidingMenu stvarno su jednostavne za uporabu i pružaju u nekoliko redaka koda sjajno korisničko iskustvo.

Vrijeme i troškovi, kao što rekoh, minimizirani su slijeđenjem Googleovih smjernica. Fragmenti i mape izgleda vrlo su jednostavni za uporabu (i što je još važnije za ponovnu upotrebu): aplikacija za tablet jednostavno zgrabi komad koda s rasporeda telefona i ne smije se ništa prepisivati. Male promjene u telefonskoj aplikaciji odmah se odražavaju u aplikaciji za tablet jer se koristi isti Fragment.

Neke zadivljujuće projekte stvara zajednica, a ne uvijek Google. Neki ljudi, vrlo aktivni na Google+ kao što su Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (Uvijek se bojim zaboraviti važne ljude) vrlo su poučni. Programeri samo trebaju znati gdje tražiti, a Androidov razvoj bit će im lak!

BeTrains možete pronaći na Google Playu, a vi ćete htjeti pogledati HoloEverywhere ako ste zainteresirani za razvoj Androida.

Matthew Runo - Zappos

Za razliku od nekih manjih neovisnih programera s kojima smo razgovarali, čuli smo se i s Matthewom u Zapposu. Zappos je web maloprodajna korporacija i vjerojatno ima namjenski proračun za dizajn na svojoj web stranici kao i na njihovim aplikacijama. To je također tvrtka koju redovno kupujem, ali to nije imalo veze i Matthew nije znao da sam čest kupac kad se dobrovoljno javio.

Budući da smo zastupnici tvrtke Zappos, prije svega moramo se držati vlastitog branda. Čudno, zabavno i malo sa zida. Ipak, oboje vjerujemo u Android smjernice za dizajn - i sve što radimo na korisničkom sučelju uzeto je iz duha tih pravila. Prije godinu dana naša je aplikacija uglavnom bila iOS port koji je izgledao i funkcionirao. Danas je (mislim da) dragulj onoga što možete učiniti na Androidu. Pridržavamo se smjernica kad god je to moguće - i naši dizajneri rade na njima kao početnu točku.

Smjernice za dizajn nisu sve i na kraju - na kraju su samo tu da pokušaju potaknuti dizajn android aplikacija tako da budu dosljedniji. Otkrili smo da je većina uobičajenih "novih" knjižnica otvorenog koda koje smo koristili završili kao dio smjernica (klizni izbornik, kruton).

Smjernice nikada ne bi mogle biti zaostatak. Određene stvari - cjelokupna navigacija - moraju biti dosljedne kako bi vaša aplikacija "jednostavno funkcionirala". Sve ostalo - započnite s uputama i pokrenite se sa svojim dizajnom. Želimo da naša aplikacija bude NAŠA APP - tako da ne možemo jednostavno napraviti osnovnu holo temu.

Ove godine smo u osnovi započeli s temeljitim prepisivanjem naše aplikacije za rad s fragmentima. U posljednjih 6 mjeseci naporno smo radili na dodavanju podrške za tablete od 7 ", a trenutno radimo na podršci za 10". Najteže je testirati uređaje, ali imamo sjajan QA tim koji u tome pomaže. Imamo 2 osobe koje rade cijelo radno vrijeme na našoj aplikaciji od kolovoza ili otprilike, prije toga bila je 1 puna osoba.

Dno crta je, mislim, smjernice za dizajn androida pomažu nam da pojednostavimo naš proces - a time smanjujemo troškove. Priznajmo, većina dizajnera iz iOS-a - stoga što imamo sjajan resurs poput design.android.com, prekrasna je pomoć da se oni brzo pokrenu u android ekosustavu.

Mogu reći da Zapposovi izbori za dizajn dobro funkcioniraju, a moja žena ima ormar pun odjeće, torbica i čizama koji pojačavaju moju tvrdnju. Pogledajte njihovu Android aplikaciju s Google Playa.

Josh Burton - jRemote

Josh je autor brojnih malih aplikacija za Android, a njegova aplikacija jRemote (to je kontroler za popularni program jDownloader PC) savršen je primjer kako koristiti izgled kako biste stvorili aplikaciju koja sjajno izgleda i na telefonu i na tabletu. Maksimizira upotrebu zaslona uređaja i daje informacije koje tražite tačno kako biste očekivali.

Pridržavanje smjernica u dizajnu prilično je ravno naprijed, sve dok ih se ne pridržavate dok ne idete. Razvijanje čitave aplikacije, a zatim povratak i pokušavanje implementacije fragmenata / izgleda tableta itd. Gubit će vrijeme, trud i frustraciju. Ali ako planirate svoju aplikaciju, razvijate koristeći fragmente od samog početka i stvorite svoje resurse za sve prave dpi kante, to će stvoriti povjetarac i zaista vam ne treba trošiti puno vremena razmišljajući o smjernicama. A ako vam se zaglavi, dizajnerski dokumenti udaljeni su samo jedan klik. Oni su sjajan resurs.

Zapravo me frustrira što tako mnogo uređaja nema izgled tableta. Ako je vaša aplikacija izgrađena na temelju fragmenata, dodavanje izgleda tableta može se obaviti za 30 minuta. Iskreno, tako je jednostavno.

Mislim da za mnoge programere oni nemaju testirane uređaje i korištenje emulara može predstavljati bol. No, tek objavljeni novi ADT alati znatno su lakši. Multi konfiguracijski prikaz u uređivaču izgleda znači da možete vidjeti kako vaš izgled izgleda na 5-6 različitih veličina zaslona odjednom. I to brzo. Naravno da ćete ipak morati testirati na emulatoru / uređaju, ali to definitivno ubrzava tijek rada.

jDownloader je zgodan program koji se koristi na radnoj površini, a jRemote izgleda kao divan način upravljanja. Ako ništa drugo, preuzmite je s Google Playa i pogledajte samo kako biste vidjeli kako aplikacija može biti jednostavna i lijepa istovremeno.

Čuli smo od mnogih drugih programera koji prilično često kažu iste stvari. Ovdje nemamo mjesta da ih sve nabrojimo. Svrha svega toga je da ako planirate unaprijed smjernice za razvojne programere Androida zaista djeluju u većini slučajeva. Drago nam je što to čujemo i nastavit ćemo uživati ​​u sjajnim aplikacijama i podržavati marljive programere.