Logo sk.androidermagazine.com
Logo sk.androidermagazine.com

Riešenie „fragmentácie“: vývojári zvuk podporujú na viacerých obrazovkách

Obsah:

Anonim

Android beží na rôznych zariadeniach, čo znamená, že beží aj na rôznych veľkostiach a rozlíšeniach obrazovky. Mnoho ľudí to nazýva „fragmentácia“. Nezáleží na tom, že už roky používajú na svojom počítači produkty navrhnuté a vyvinuté rovnakým spôsobom. Ak všetko nie je úplne rovnaké, dostane označenie „fragmentácia“.

Existujú rôzne spôsoby riešenia problémov, ktoré vznikajú pri používaní obrazoviek s rôznymi veľkosťami a hustotou. Apple má samostatné záznamy pre aplikácie určené pre iPhone a iPad. Spoločnosť Microsoft vytvára nový ekosystém pre svoje zariadenia s veľkou obrazovkou. Android poskytuje vývojárom spôsob, ako zaistiť, aby rovnaká aplikácia fungovala odlišne pre rôzne obrazovky. O každej metóde je dobré a zlé, ale tu sa zameriame na Android.

V systéme Android môžu aplikácie upravovať rozloženie pre rôzne veľkosti obrazoviek, ako aj rozlíšenie. To všetko je zabudované, ale existuje niekoľko vecí, ktoré vývojári musia deklarovať vo svojom kóde, aby aplikácia vyzerala dobre. Nezabudnite, ako veľkosť a hustota obrazovky zmenia vzhľad aplikácie. Droid DNA má obrazovku s vyšším rozlíšením ako tablet Motorola XOOM, ale nechceme vidieť rozloženie tabletu pre aplikácie na obrazovke telefónu.

Vývojár musí poskytnúť prostriedky (obrázky), ktoré sú dostatočne kvalitné na to, aby vyzerali ostro vo vysokom rozlíšení (nezabudnite na šialene vysoké rozlíšenie) a pri navrhovaní ich rozmiestnenia nezabudnite použiť jednotky pixelov nezávislé od hustoty. To zabraňuje tomu, aby boli tlačidlá a iné ovládacie prvky skutočne veľké na obrazovkách s nízkou hustotou, ako je Galaxy S2, alebo aby boli skutočne malé na obrazovkách s vysokou hustotou, ako je DNA.

Znie to komplikovane, ale väčšina z toho sa robí pri kódovaní aplikácie. Všetko, čo musí vývojár urobiť, je urobiť správne vyhlásenia a poskytnúť správne prostriedky na podporu akejkoľvek veľkosti (fyzickej aj rozlíšenia) alebo rozloženia. Dokonca aj viac aplikácií na rozloženie, ako je aplikácia Google+, používa rovnaký kód na pokrytie každej predstaviteľnej obrazovky.

Nesnažíme sa tu posudzovať vývojárov. Písanie aplikácií je náročné. Vývojári Android kázali toto všetko od vydania Gingerbread, ale aké je to praktické? Požiadali sme o to niekoľko vývojárov, aby videli, čo mali povedať po prestávke.

Viac: Stránka pre vývojárov systému Android pre Google.

Pár základných otázok k tejto téme sme položili hŕstke vývojárov (veľkých aj malých).

  • Aké ťažké je dodržiavať pokyny?
  • Na papieri to vyzerá ľahko, existujú však nejaké špeciálne problémy, ktoré ste videli alebo časti, ktoré spoločnosť Google nezaoberala?
  • Ako to ovplyvnilo čas a náklady na vývoj, ak vôbec?
  • Máte ešte niečo k téme, ktorú by ste chceli zdieľať?

Snažil som sa, aby boli otázky čo najneutrálnejšie, aby sme sa tým nezaoberali so zaujatosťou. V prípade pochybností sa pýtate ľudí, ktorí to vedia, však? Spravodlivo som sa podieľal na programovaní, ale kódovanie v jazyku Java a vytváranie aplikácií pre Android sa veľmi líši od písania kódu v jazyku C alebo strojovom kóde alebo dokonca v jazyku Perl. Existujú nuansy, ktorým nerozumiem, aj keď dostanem všeobecné metódy zostavenia aplikácie.

Viem si predstaviť, že veľa z vás je ako ja a neviem, aké zložité je vytváranie aplikácií pre Android. Vidíme iba to, čo hovoria vývojári systému Android a robia to jednoduchým. Pravdepodobne je to pre nich - tieto veci píšu od základov od roku 2007. Pozrime sa, čo hovoria ľudia, ktorí ich dokázali sledovať.

Joe Simpson (@kennydude) - Boid

Joe je členom tímu Team Boid a publikuje tiež aplikácie sám. On (a zvyšok jeho tímu) je skvelým príkladom nezávislých vývojárov s vášňou pre Android, ktorí roztočili niektoré úžasné aplikácie.

Dodržiavanie pokynov je pomerne ťažké, najmä ak chcete štíhlu aplikáciu, ale ľudia chcú spätnú kompatibilitu. Jednou z najviac nepríjemných vecí je vidieť, ako niečo vyzerá na stránke d.android.com/design, ale nič o tom, ako to skutočne urobiť.

Slabá stránka je osviežujúca, keď fyzicky nemôžete používať GCM kvôli Twitteru a nechcete používať PtR. Aplikácie spoločnosti Google tiež vytvárajú vlastné pokyny. Vezmite si napríklad výsuvný tabuľa, služba Google+ to robí inak ako YouTube (hoci viem, že podporná knižnica to určite vyrieši).

Môžete sa tiež dostať k bodu a nie je k dispozícii žiadna dokumentácia (napríklad EdgeEffect).

Som študent, takže náklady sú niečo, čo nevyzerám, a áno, to si vyžaduje čas, ale vaši používatelia vás budú milovať. Živé predstavenia (ADiA, klinika aplikácií, otváracie hodiny) sú, samozrejme, nevyhnutnosťou (bohužiaľ), aj keď nemôžu ponúknuť spätnú väzbu k aplikáciám Google.

Boid bude čoskoro otvorený open source (yay!) A samotnú aplikáciu nájdete v službe Google Play. Nájdete tu aj všetky Joeove aplikácie (tam sú nejaké šperky).

Christophe Versieux - BeTrains - SNCB Belgicko; HoloEverywhere

Christophe vytvoril množstvo aplikácií pre Android, vrátane aplikácie BeTrains - SNCB Belguim - aplikácie s nádherným rozložením, ktorá ukazuje, čo sa dá urobiť s dobre vytvorenou aplikáciou. Zatiaľ čo väčšina v USA ho nikdy nebude používať (ide o aplikáciu na plánovanie vlakov pre belgické koľajnice), stojí za to nainštalovať ju len preto, aby ste videli, ako sa to darí. Ľudia v západnej Európe o tom určite vedia.

Okrem toho vyvinul knižnicu HoloEverywhere, ktorú môžu ďalší vývojári použiť na vytváranie aplikácií v štýle Holo pre Android 2.1 a novší. S mnohými telefónmi, ktoré stále používajú perník, je to skutočné potešenie pre vývojárov, ktorí chcú, aby ich aplikácie vyzerali aktuálne.

Nie je to vôbec ťažké. Vážne. Ťažká časť prichádza, keď zákazník žiada, aby sa z týchto pokynov dostal preč!

Spomínam si na zákazníka, ktorý chcel, aby som umiestnil karty na spodnú časť obrazovky, tlačidlá iPhone všade, prepínanie v štýle iPhone a tento projekt sa naozaj ťažko dosiahol a naozaj som stratil veľa času a peňazí.

Skutočne som sa na neho hneval, keď sa spýtal na všetky tieto hlúpe veci a on si myslel, že som lenivý vývojár.

Teraz s ním mám veľa kontaktov a úplne prepíšeme jeho aplikáciu, vytvoríme úžasný kód odstránením všetkých týchto zbytočných funkcií a vytvorením „čistej“ aplikácie pre Android. Pevne verím, že zákazníci a spoločnosti si musia tieto usmernenia uvedomiť.

Knižnice ako ActionBarSherlock, HoloEverywhere (moje vytvorenie), UnifiedPreferences a SlidingMenu sa dajú veľmi ľahko používať a v niekoľkých riadkoch kódu poskytujú úžasné užívateľské prostredie.

Čas a náklady sú, ako som už povedal, minimalizované dodržiavaním pokynov spoločnosti Google. Fragmenty a priečinky s rozložením sa dajú skutočne ľahko používať (a dôležitejšie je ich opätovné použitie): tabletová aplikácia iba zachytí kód z rozloženia telefónu a nič sa nesmie prepisovať. Malé zmeny v telefónnej aplikácii sa okamžite prejavia v aplikácii pre tablety, pretože sa používa rovnaký fragment.

Niektoré úžasné projekty vytvára komunita, nie vždy spoločnosť Google. Niektorí ľudia, ktorí sú na Google+ veľmi aktívni, ako Roman Nurik (Google), Reto Meier (Google), Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (Vždy sa obávam, že zabudnem na dôležitých ľudí) sú veľmi poučení. Vývojári jednoducho potrebujú vedieť, kde hľadať, a vývoj systému Android pre nich bude jednoduchý!

BeTrains nájdete na Google Play a ak sa zaujímate o vývoj Androidu, budete sa chcieť pozrieť na HoloEverywhere.

Matthew Runo - Zappos

Na rozdiel od niektorých menších nezávislých vývojárov, s ktorými sme hovorili, sme počuli aj od Matthew v Zappos. Zappos je webová maloobchodná spoločnosť a pravdepodobne má vyhradený rozpočet na dizajn na svojich webových stránkach aj na svojich aplikáciách. Je to tiež spoločnosť, od ktorej nakupujem pravidelne, ale toto nemalo žiadny vplyv a Matthew si nebol vedomý toho, že som častým zákazníkom, keď sa prihlásil.

V spoločnosti Zappos, pretože sme maloobchodník, sa musíme v prvom rade držať našej vlastnej značky. Šialené, zábavné a trochu mimo steny. To znamená, že obaja sme silní veriaci v pokynoch pre dizajn systému Android - a všetko, čo robíme v používateľskom rozhraní, je prevzaté z ducha týchto pravidiel. Pred rokom bola naša aplikácia väčšinou portom pre iOS, podľa ktorého vyzerala a fungovala. Dnes je to (myslím) klenot toho, čo môžete v systéme Android urobiť. Vždy, keď je to možné, sa riadime pokynmi - a naši návrhári od nich pracujú ako východiskový bod.

Pokyny pre navrhovanie nie sú všetko a nakoniec všetky - nakoniec sú tu len preto, aby sa pokúsili presadiť návrh aplikácií pre Android tak, aby boli konzistentnejšie. Zistili sme, že väčšina bežných „nových“ knižníc s otvoreným zdrojovým kódom, ktoré sme použili, skončila v rámci usmernení (posuvné menu, krutón).

Pokyny by nikdy nemali byť zdržanlivosťou. Niektoré veci - celková navigácia - musia byť konzistentné, aby vaša aplikácia „fungovala“. Všetko ostatné - začnite s pokynmi a spustite svoj dizajn. Chceme, aby naša aplikácia bola NAŠOU APP - takže nemôžeme robiť iba základnú tému holo.

Tento rok sme v podstate začali od základu prepísať našu aplikáciu, aby pracovala s fragmentmi. Za posledných 6 mesiacov sme tvrdo pracovali na pridaní podpory pre 7 "tablety a v súčasnosti pracujeme na podpore 10". Najťažšie je urobiť testovanie na zariadeniach, ale máme skvelý tím kontroly kvality, ktorý s tým pomáha. Na našej aplikácii pracujeme od augusta asi 2 ľudia, predtým to bola 1 osoba na plný úväzok.

Zrátané a podčiarknuté, myslím, že pokyny pre návrh systému Android nám pomáhajú zefektívniť náš proces - a tým znižovať náklady. Priznajme si to, väčšina návrhárov z iOS - takže mať skvelý zdroj, ako je design.android.com, je vynikajúcou pomôckou, ktorá im umožní rozbehnúť sa v ekosystéme Android.

Môžem povedať, že výber dizajnu spoločnosti Zappos funguje dobre a moja žena má skrinku plnú oblečenia, kabeliek a čižiem, ktoré posilňujú moje tvrdenie. Vyskúšajte ich aplikáciu pre Android zo služby Google Play.

Josh Burton - jRemote

Josh je autorom mnohých malých aplikácií pre Android a jeho aplikácia jRemote (je to ovládač populárneho programu jDownloader PC) je dokonalým príkladom toho, ako používať rozloženia na vytvorenie aplikácie, ktorá vyzerá skvele na telefóne aj tablete. Maximalizuje použitie obrazovky zariadenia a poskytuje informácie, ktoré hľadáte, presne tak, ako by ste očakávali.

Dodržiavanie pokynov týkajúcich sa dizajnu je celkom rovno vpred, pokiaľ sa na nich budete držať od začiatku. Vývoj celej aplikácie a potom návrat späť a pokus o implementáciu rozloženia fragmentov / tabletu atď. Bude stratou času, úsilia a frustrácie. Ak však plánujete svoju aplikáciu, vyvíjate ju pomocou fragmentov od začiatku a vytvorte si zdroje pre všetky správne vedrá v dpi, je to hračka a nemusíte tráviť veľa času premýšľaním o usmerneniach. A ak uviaznete, návrhové dokumenty sú vzdialené len jedno kliknutie. Sú skvelým zdrojom.

Skutočne ma to frustruje, že toľko zariadení nemá rozloženie tabletu. Ak je vaša aplikácia vytvorená pomocou fragmentov, je možné do 30 minút pridať rozloženie tabletu. Úprimne povedané, je to také ľahké.

Myslím si, že pre mnohých vývojárov nemajú testovacie zariadenia pre tablety a používanie emulátora môže byť bolesť. Nové nástroje ADT, ktoré boli práve vydané, ich však oveľa uľahčujú. Zobrazenie s viacerými konfiguráciami v editore rozloženia znamená, že vaše rozloženie vyzerá na 5-6 rôznych veľkostiach obrazovky naraz. A je to rýchle. Samozrejme, budete ešte musieť otestovať emulátor / zariadenie, ale určite to urýchli prácu.

jDownloader je praktický program, ktorý sa používa na vašej pracovnej ploche, a jRemote vyzerá ako skvelý spôsob, ako ho ovládať. Ak nič iné, stiahnite si ho zo služby Google Play a pozrite sa, aby ste videli, ako môže byť aplikácia jednoduchá a krásna súčasne.

Počuli sme od mnohých ďalších vývojárov, ktorí do značnej miery hovoria to isté. Sme tu len preto, aby sme ich vymenovali. Podstata toho všetkého je, že ak plánujete dopredu, pokyny pre vývojárov systému Android skutočne fungujú vo väčšine prípadov. Sme radi, že sme sa o tom dozvedeli, a budeme si aj naďalej užívať skvelé aplikácie a podporovať pracovitých vývojárov.