Logo it.androidermagazine.com
Logo it.androidermagazine.com

Affrontare la "frammentazione": gli sviluppatori suonano su più schermi

Sommario:

Anonim

Android funziona su una varietà di dispositivi, il che significa che funziona anche su una varietà di dimensioni e risoluzioni dello schermo. Molte persone chiamano questa "frammentazione". Non importa il fatto che da anni utilizzano prodotti progettati e sviluppati allo stesso modo sul desktop. Apparentemente se tutto non è esattamente lo stesso ottiene l'etichetta "frammentazione".

Esistono diversi modi per affrontare i problemi che si presentano quando si utilizzano schermi con dimensioni e densità diverse. Apple ha elenchi separati per le app progettate per iPhone rispetto a iPad. Microsoft crea un nuovo ecosistema per i suoi dispositivi a grande schermo. Android offre agli sviluppatori un modo per far funzionare la stessa app in modo diverso per schermi diversi. Ci sono aspetti positivi e negativi in ​​ciascun metodo, ma qui ci concentreremo su Android.

In Android, le applicazioni possono regolare il layout per schermi di dimensioni diverse e risoluzione. Questo è tutto integrato, ma ci sono alcune cose che gli sviluppatori devono dichiarare nel loro codice per rendere l'app bella. La cosa da tenere a mente è come le dimensioni e la densità dello schermo cambieranno l'aspetto dell'app. Il Droid DNA ha uno schermo ad alta risoluzione rispetto al tablet Motorola XOOM, ma non vogliamo vedere un layout del tablet per le app sullo schermo delle dimensioni del telefono.

Uno sviluppatore deve fornire risorse (immagini) di qualità sufficientemente elevata da apparire nitide ad alta risoluzione (non importa se follemente ad alta risoluzione) e assicurarsi di utilizzare unità pixel indipendenti dalla densità durante la progettazione del layout. Questo è ciò che impedisce a cose come pulsanti e altri controlli di essere davvero grandi su schermi a bassa densità come il Galaxy S2, o di essere davvero minuscoli su schermi ad alta densità come il DNA.

Sembra complicato, ma la maggior parte di queste cose è fatta per te quando si codifica un'app. Tutto quello che lo sviluppatore deve fare è fare le giuste dichiarazioni e fornire le risorse giuste per supportare qualsiasi dimensione (sia fisica che di risoluzione) o layout. Anche più app di layout come l'app Google+ utilizzano lo stesso codice per coprire ogni schermata immaginabile.

Non stiamo provando a giudicare gli sviluppatori qui. Scrivere app è difficile. Gli sviluppatori Android hanno predicato tutto ciò sin dal rilascio di Gingerbread, ma quanto è pratico? Ne abbiamo chiesto alcuni sviluppatori, vedere cosa avevano da dire dopo l'interruzione.

Altro: sito per sviluppatori Android di Google.

Abbiamo posto a una manciata di sviluppatori (grandi e piccoli) un paio di domande di base sull'argomento.

  • Quanto è difficile aderire alle linee guida?
  • Sembra facile sulla carta, ma ci sono problemi speciali che hai visto o parti che Google non ha coperto?
  • In che modo ciò ha influito sui tempi e sui costi di sviluppo?
  • Qualcos'altro sull'argomento che desideri condividere?

Ho cercato di rendere le domande il più neutre possibile in modo da non approfondire la questione con una certa propensione. In caso di dubbio, chiedi alle persone che lo sanno, giusto? Ho fatto la mia giusta parte di programmazione, ma la codifica in Java e la creazione di app Android è molto diversa dalla scrittura di codice in C o codice macchina, o persino Perl. Ci sono sfumature che non capisco, anche se ottengo i metodi generali per creare un'app.

Immagino che un buon numero di voi ragazzi sia come me e non conosca la complessità della creazione di app Android. Vediamo solo ciò che dicono gli sviluppatori Android e lo fanno sembrare facile. Per loro, probabilmente lo è - hanno scritto queste cose da zero dal 2007. Vediamo cosa dicono le persone che sono state in grado di seguirle.

Joe Simpson (@kennydude) - Boid

Joe è membro del Team Boid e pubblica anche applicazioni per conto proprio. Lui (e il resto del suo team) sono un ottimo esempio di sviluppatori indipendenti con la passione per Android che hanno realizzato alcune fantastiche applicazioni.

Seguire le linee guida è abbastanza difficile, soprattutto se si desidera un'app snella ma le persone vogliono la retrocompatibilità. Una delle cose più fastidiose è vedere come appare qualcosa su d.android.com/design, ma nulla su come farlo realmente.

Un punto debole è rinfrescante quando fisicamente non è possibile utilizzare GCM a causa di Twitter e non si desidera utilizzare PtR. Inoltre, le app di Google formano le proprie linee guida. Prendiamo ad esempio il riquadro slide-in, Google+ lo fa in modo diverso rispetto a YouTube (anche se so che la libreria di supporto si spera di risolverlo).

Inoltre, puoi arrivare a un punto e non c'è documentazione su qualcosa (EdgeEffect per esempio).

Sono uno studente, quindi i costi sono qualcosa che io non guardo, e sì, ci vuole tempo, ma i tuoi utenti ti adoreranno. Fondamentalmente, gli spettacoli dal vivo (ADiA, App Clinic, Office Hours) sono un must (purtroppo) anche se non possono offrire feedback sulle app di Google.

Boid sarà presto open-source (yay!) E puoi trovare l'app stessa su Google Play. Troverai anche tutte le app di Joe (ci sono alcuni gioielli lì) proprio qui.

Christophe Versieux - BeTrains - SNCB Belgio; HoloEverywhere

Christophe ha creato numerose applicazioni Android, tra cui BeTrains - SNCB Belguim - un'app con un layout meraviglioso che mostra cosa si può fare con un'applicazione ben costruita. Mentre la maggior parte degli Stati Uniti non la userà mai (è un'app di orari dei treni per le rotaie belghe) vale la pena installarla solo per vedere come è andata bene. Le persone nell'Europa occidentale lo sanno sicuramente.

Inoltre, ha co-sviluppato HoloEverywhere, una libreria che altri sviluppatori possono utilizzare per creare applicazioni in stile Holo per Android 2.1 e versioni successive. Con molti telefoni che eseguono ancora Gingerbread, questa è una vera delizia per gli sviluppatori che vogliono mantenere le loro app sempre aggiornate.

Non è affatto difficile. Sul serio. La parte difficile arriva quando il cliente chiede di allontanarsi da quelle linee guida!

Ricordo un cliente che voleva che mettessi le schede nella parte inferiore dello schermo, i pulsanti iPhone ovunque, l'interruttore in stile iPhone e questo progetto era davvero difficile da realizzare e ci ho davvero perso un sacco di tempo e denaro.

Ero davvero arrabbiato con lui quando ha chiesto a tutte queste cose stupide, e pensava solo che fossi uno sviluppatore pigro.

Ora ho molti contatti con lui e stiamo riscrivendo totalmente la sua app, creando un fantastico codice rimuovendo tutte queste funzionalità inutili e creando un'app Android "pura". I clienti e le aziende devono solo essere consapevoli di tali linee guida, credo fermamente.

Librerie come ActionBarSherlock, HoloEverywhere (la mia creazione), UnifiedPreferences e SlidingMenu sono davvero facili da usare e forniscono in poche righe di codice un'esperienza utente straordinaria.

Tempo e costi, come ho detto, sono ridotti al minimo seguendo le linee guida di Google. I frammenti e le cartelle di layout sono davvero facili da usare (e più importanti da riutilizzare): un'app per tablet prende solo un pezzo di codice dal layout del telefono e nulla deve essere riscritto. Piccole modifiche nell'app del telefono si riflettono immediatamente nell'app per tablet, poiché viene utilizzato lo stesso frammento.

Alcuni progetti straordinari vengono creati dalla community, non sempre da Google. Alcune persone, molto attive su Google+ come Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (Ho sempre paura di dimenticare persone importanti) sono molto istruttive. Gli sviluppatori devono solo sapere dove cercare e lo sviluppo di Android sarà facile per loro!

Puoi trovare BeTrains su Google Play e ti consigliamo di dare un'occhiata a HoloEwherewhere se sei interessato allo sviluppo di Android.

Matthew Runo - Zappos

Contrariamente ad alcuni dei piccoli sviluppatori indipendenti con cui abbiamo parlato, abbiamo anche sentito parlare di Matthew a Zappos. Zappos è una società di vendita al dettaglio sul web e probabilmente ha un budget dedicato per la progettazione sia sul loro sito Web che sulle loro applicazioni. È anche una società che compro regolarmente, ma questo non aveva rilevanza e Matthew non era a conoscenza del fatto che sono un cliente frequente quando si è offerto volontario.

In Zappos, dal momento che siamo rivenditori, dobbiamo prima di tutto attenerci al nostro marchio. Stupido, divertente e un po 'fuori dal muro. Detto questo, entrambi crediamo fermamente nelle linee guida per la progettazione di Android - e tutto ciò che facciamo nell'interfaccia utente viene preso dallo spirito di quelle regole. Un anno fa, la nostra app era principalmente una porta iOS da come appariva e funzionava. Oggi è (penso) un gioiello di ciò che puoi fare su Android. Aderiamo alle linee guida ogni volta che è possibile - e i nostri designer lavorano da loro come punto di partenza.

Le linee guida di progettazione non sono un tutto e finiscono tutte - alla fine sono solo lì per provare a spingere il design delle app Android in modo che siano più coerenti. Abbiamo scoperto che la maggior parte delle "nuove" librerie open source comuni che abbiamo usato sono finite come parte delle linee guida (menu scorrevole, crostino).

Le linee guida non dovrebbero mai essere un ostacolo. Alcune cose, la navigazione generale, devono essere coerenti in modo che la tua app "funzioni". Tutto il resto: inizia dalle linee guida ed esegui il tuo progetto. Vogliamo che la nostra app sia LA NOSTRA APP, quindi non possiamo semplicemente fare il tema holo di base.

Quest'anno siamo sostanzialmente partiti da una riscrittura della nostra app per lavorare con i frammenti. Negli ultimi 6 mesi abbiamo lavorato duramente per aggiungere un supporto per tablet da 7 "e attualmente stiamo lavorando su un supporto da 10". La cosa più difficile da fare è testare sui dispositivi, ma abbiamo un ottimo team di QA che ci aiuta. Abbiamo avuto 2 persone che lavorano a tempo pieno sulla nostra app da circa agosto, prima era 1 persona a tempo pieno.

In conclusione, credo che le linee guida di progettazione Android ci aiutino a semplificare il nostro processo e quindi a ridurre i costi. Ammettiamolo, la maggior parte dei designer di iOS - quindi avere una grande risorsa come design.android.com è un aiuto meraviglioso per farli partire nell'ecosistema Android.

Posso dire che le scelte di design di Zappos funzionano bene, e mia moglie ha un armadio pieno di vestiti, borse e stivali che rafforzano la mia richiesta. Scopri la loro app Android da Google Play.

Josh Burton - jRemote

Josh ha creato numerose piccole applicazioni per Android e la sua applicazione jRemote (è un controller per il popolare programma per PC jDownloader) è un esempio perfetto di come utilizzare i layout per creare un'app che sia perfetta sia sul telefono che su un tablet. Massimizza l'uso dello schermo del dispositivo e ti dà le informazioni che stai cercando esattamente come ti aspetteresti.

L'adesione alle linee guida di progettazione è piuttosto semplice, purché ci si attenga a loro fin dall'inizio. Sviluppare un'intera app e alla fine tornare indietro e cercare di implementare frammenti / layout di tablet, ecc. Sarà una perdita di tempo, fatica e frustrazione. Ma se pianifichi la tua app, sviluppi utilizzando frammenti fin dall'inizio e crei le tue risorse per tutti i giusti dpi dpi, questo rende lo sviluppo un gioco da ragazzi e non hai davvero bisogno di passare molto tempo a pensare alle linee guida. E se rimani bloccato, i documenti di progettazione sono solo a un clic di distanza. Sono una grande risorsa.

Mi frustra davvero il fatto che così tanti dispositivi non abbiano layout per tablet. Se l'app viene creata utilizzando frammenti, l'aggiunta di un layout tablet può essere eseguita in 30 minuti. Onestamente, è così facile.

Penso che per molti sviluppatori, non hanno dispositivi tablet su cui testare e l'utilizzo dell'emulatore può essere una seccatura. Ma i nuovi strumenti ADT appena rilasciati lo rendono molto più semplice. La visualizzazione multi-configurazione nell'editor di layout consente di vedere contemporaneamente l'aspetto del layout su 5-6 schermi di dimensioni diverse. Ed è veloce. Ovviamente dovrai comunque testare su un emulatore / dispositivo, ma accelera sicuramente il flusso di lavoro.

jDownloader è un programma utile da utilizzare sul desktop e jRemote sembra un modo meraviglioso per controllarlo. Se non altro, scaricalo da Google Play e dai un'occhiata solo per vedere come un'app può essere semplice e bella allo stesso tempo.

Abbiamo sentito da molti altri sviluppatori che praticamente dicono le stesse cose. Siamo appena fuori posto qui per elencarli tutti fuori. L'essenza di tutto è che se pianifichi in anticipo, le linee guida per sviluppatori Android funzionano davvero nella maggior parte dei casi. Siamo lieti di ascoltarlo e continueremo a godere di fantastiche app e supportare sviluppatori che lavorano duramente.