Fragmentacija na Androidu

osnovni-vodič-programiranje-android-6

Fragmentacija Androida najveća je poteškoća koju programeri moraju lansirati na tržište. Android je daleko od toga da je jedinstvena platforma, s nekoliko uređaja poput iOS-a.

Neki brojevi o fragmentaciji

Da bismo stekli predodžbu o tome koliko je Android podijeljen, možemo vidjeti stvarnu upotrebu. Postoji nekoliko tvrtki koje objavljuju široko korištene aplikacije, a kasnije prikupljaju podatke o korištenju. Jedan od njih je OpenSignal koji je nedavno objavio svoju najnoviju studiju.

Brojevi su poražavajući:

  • Ove je godine viđeno 18.796 različitih Android uređaja, u odnosu na 11.868 prošle godine (rast od 58%).
  • Samsung je izvanredan vodeći proizvođač s 43% uređaja. Ostatak distribuira više od 80 različitih proizvođača.
  • Aktivno je 6 različitih verzija operativnog sustava s dovoljno velikim brojem korisnika koji se mogu ignorirati.
  • Također postoji vrlo velik broj različitih rezolucija i veličina zaslona. I naravno, s različitim omjerima između visine i širine.

Tim podacima moramo dodati različite hardverske elemente, poput skupa senzora koji se mogu razlikovati od jednog uređaja do drugog, ili različitog grafičkog procesora zbog kojeg programeri igara OpenGL moraju sve pokriti.

Ukratko, noćna mora, koja nas ako ne kontroliramo kako treba može koštati više od nesviđanja. Nerijetko se na Androidu mogu naći projekti u kojima nakon završetka prve verzije na kraju potroše više vremena na prijenos različitih modela nego u samoj prvoj verziji. To može biti vrlo frustrirajuće.

Suočavanje s fragmentacijom

Iako je to složen zadatak, ako slijedimo određenu disciplinu u razvoju, u razumnom vremenu možemo postići dobar rezultat. Za to ćemo započeti s nekoliko preliminarnih razmatranja.

Radite s fragmentacijom od početka

Stvaranje određene verzije za određeni mobitel, a zatim prijenos je česta pogreška. Uobičajeno je pasti u komotnost gledanja samo uređaja koji nam je pri ruci, no ako ćemo svoju aplikaciju objaviti za široko tržište, ostavljanje fragmentacije za kraj natjerat će nas na skupe promjene u naš projekt. To će potrajati i napravit ćemo više pogrešaka. Na primjer, ako svoje poglede ne dizajniramo tako da budu fleksibilni za prilagodbu raznim veličinama zaslona, ​​morat ćemo ih kasnije ponoviti. Nešto slično onome što se dogodilo mjesto resursa.

U tom smislu postoji niz pitanja koja si možemo postaviti prije početka, a koja će nam pomoći da imamo putokaz.

  • Koju verziju operativnog sustava želim podržati? Samo nedavni mobiteli ili želim da moja aplikacija radi za starije modele?
  • Želim li podržavati samo mobitele, samo tablete ili oboje?
  • U kojim zemljama želim objaviti svoju prijavu? Koje jezike želim podržati?

S prvim pitanjem možemo se zapitati koju funkcionalnost želimo uključiti u našu aplikaciju. Ako podržavamo stare verzije, morat ćemo birati između žrtvovanja funkcionalnosti novih inačica Androida ili objavljivanja različitih verzija naše aplikacije. Moja je osobna preporuka prva opcija, osim ako imate dovoljno resursa i programera za rad s dvije različite verzije istog proizvoda.

S drugom, bit će nam jasno kako ćemo morati razvijati svoje poglede, a da ih ne gubimo iz vida različite verzije naših grafičkih izvora. Napokon, osim mjesta na kojem se nalaze tekstovi, moramo imati na umu da će, ovisno o zemlji u kojoj objavljujemo svoju aplikaciju, biti starijih ili modernijih mobilnih telefona.

Pretpostavimo da ne mogu biti pokriveni svi mobiteli

S toliko fragmentacije uvijek će biti "rijetkih" slučajeva koje nećemo vrijediti pokriti. Uvijek će postojati model koji ima problema sa snimanjem ili reprodukcijom zvuka ili izvršavanjem određenog video formata ... ili bilo koje druge mogućnosti. Činjenica da je Android besplatan sustav omogućuje svakom proizvođaču da donekle implementira operativni sustav po svom ukusu, što će neizbježno uzrokovati modele koje je teško pokriti.

Ovdje je važan dobar pragmatizam. Pokrivanje nekoliko uređaja koje koristi vrlo mali broj korisnika nije izvedivo, trebat će nam više vremena od pokrivanja uobičajenih uređaja. Najbolja strategija je osigurati uređaje s najvećom prisutnošću na tržištu u to vrijeme, što će nam zauzvrat pomoći da i većina ostalih radi. Zatim ćemo nastaviti usavršavati našu aplikaciju dok ne dobijemo razumno dobru pokrivenost - dobro razvijena aplikacija lako premašuje 80% pokrivenosti.

Uz sve ovo možemo početi raditi. Iako smo već naveli neke korisne tehnike, sada ćemo ih detaljno pregledati.

  • Naši će pogledi uvijek biti fleksibilni. Nikad nećemo koristiti apsolutne vrijednosti za veličine piksela, a još manje AbsoluteLayout. Sva naša mjerenja bit će u ovisnim pikselima ili dp, a kad god je to moguće, koristit ćemo relativne proporcije i mjerenja.
  • Testirat ćemo svoje poglede u različitim veličinama zaslona. Kako ih ne biste morali sve isprobati, dobar je pristup isprobati jedan od najvećih uređaja, drugi jedan od najmanjih i jedan između.
  • Pobrinut ćemo se da budu dostupni svi grafički izvori za sve gustoće zaslona, ​​što će nam olakšati 100% fleksibilni prikaz.
  • Pobrinut ćemo se za odvojene tekstove koda koji podržavaju internacionalizaciju.
  • Izabrat ćemo najnižu verziju operativnog sustava s kojom ćemo raditi i razvijati samo s njom ako je moguće. Ako ne, stvorit ćemo različite verzije za različite operativne sustave, iako što manje to bolje. Ponekad ćemo pronaći biblioteke trećih strana koje implementiraju funkcionalnosti novijih verzija, a da ih ne moraju izravno koristiti, zanimljiva je alternativa za razmatranje.
  • Neizbježno ćemo testirati. Na tržištu postoje tvrtke posvećene isključivo testiranju, a uz sasvim prihvatljive cijene možemo dobiti automatsko testiranje za širok raspon uređaja.
  • I na kraju, nećemo isključiti korisnička izvješća o pogreškama, koja će nas neizbježno stići. S njima ćemo sigurno otkriti detalje koji su nam nedostajali.

Zanimaju vas:
Kako ukloniti viruse na Androidu
Pratite nas na Google vijestima

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: Actualidad Blog
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.