Cari iOS Specialists, rieccoci al nostro consueto appuntamento con WWDC16 in Pillole! Per ricevere gratuitamente l’intera guida sull’evento Apple e sulle novità da esso introdotte in Swift 3, date un’occhiata alla fine di questa pagina.

Nel decimo capitolo andiamo ad enunciare tutti i nuovi consigli che Cupertino ha indicato per migliorare la nostra app.

10. Come migliorare la nostra app (Prima Parte)

In breve, oggi vedremo:

  • Migliorie tecniche da applicare, fix per gli amici… oppure, come dicono in Apple, come ridurre i debiti tecnici (Technical Debts)
  • Warnings
  • Asset Catalogs

Siete carichi? Benissimo, iniziamo subito! 


10.1 Technical Debts


Il tuo capo inonda di richieste di nuove funzionalità di un progetto e non sai come gestirle? Nel frattempo il cliente dello stesso identico progetto ha urgente bisogno di effettuare un fix (technical debt) e tu devi stare con due piedi in una scarpa….! Mantenere il vecchio ed il nuovo non è sempre facile.

Chi meglio di Apple ci capisce in questo frangente? Loro rilasciano ogni anno nuove API, ma allo stesso tempo devono manutenere e fixare il codice per fare in modo che funzioni tutto, come l’utilizzatore finale (noi iOS Developer) si aspetta – e con la dovuta retrocompatibilità del caso. Dunque… come si fa?

10.1.1 Warnings

Altra cosa importante: risolvere i warnings!

Solitamente, quando si aggiornano le API Apple, ci sono delle novità introdotte nelle API richiamate nel nostro codice, magari API deprecate: bisogna risolverli subito per evitare sorprese in futuro.

Per indurci a farlo, Cupertino ha fornito una novità con Xcode 8: settare i Warnings come degli errori. Usiamoli, così non siamo indotti in tentazione e non li ignoriamo.
Questa voce si trova nei build settings a livello di progetto, come in figura:

10.2 Asset Catalog

Apple ci consiglia di usare gli Asset Catalog, che ci semplificano la vita e sono utilissimi per manutenere la grafica del codice. Non serve per forza usarne uno soltanto. Possiamo utilizzarne quanti ne vogliamo (dipende dal progetto da realizzare).

Facciamo l’esempio di un’app di carte: possiamo avere per ogni carta un’immagine che rappresenta il retro e un’altra che rappresenta il fronte. Ecco che avremo tanti Asset Catalogs.

Durante il WWDC, parlando di Asset Catalog, hanno posto l’esempio di un grafico che genera per noi l’Asset Catalog e ci invia il progetto con gli elemen grafici.

Chiaramente non possiamo copiare e/o spostare i files a mano: nell’asset catalog ci sono solo i link. Possiamo però e effettuare una migrazione dal progetto inviatoci per caricare gli asset catalog nel nostro progetto originale. Basta selezionare il nostro asset catalog da Xcode, un click sul + e scegliere Import From Project, come in figura:

Selezioniamo quindi gli asset del progetto del grafico con il File Navigator ed importiamo così tutti gli assets, con estrema facilità! Senza gli asset catalogs, si doveva utilizzare per forza il path della risorsa, specificando anche il tipo. E se si richiama quell’oggetto ma non è stato importato nel progetto o se si sbaglia il nome del file, l’esecuzione del codice da errore.

In Swift senza asset catalog si doveva andare a prendere nel bundle di risorse, come segue:

Invece con gli Asset Catalog è molto più semplice: basta importare gli asset catalog e richiamare il nome dell’asset in questo modo:

Così siamo sicuri di non avere errori. Molto più smart, amici!

Oltre a questo, un altro vantaggio dell’uso di questa API (UIImage:named) è che se va a recuperare il dato dall’Asset Catalog, questa immagine verrà messa in una cache interna e recuperata molto più velocemente le volte successive in cui occorre visualizzarla nella nostra app.

La seconda volta che si richiede la stessa immagine rendendola dal nome, infatti, l’API ci restituirà un’altra reference allo stesso oggetto e non replicherà il contenuto stesso. Molto più performante!

Provate ad immaginare di avere la stessa immagine in molte celle di una UITableView, in questo modo è sicuramente molto più fluido il risultato.

L’asset catalog ci permette di definire l’immagine in più aspetti:

  • Per quale device (iPhone, iPad, Universal, etc.)
  • Per quanta memoria del telefono (sì, si può particolareggiare l’immagine facendola magari 
più piccola per telefoni con meno memoria)
  • Scale Images: Standard, retina in @2x o in @3x


Ma oggi abbiamo la possibilità di utilizzare una sola immagine, con i Vector Assets.

Con i Vector Assets, infatti, tramite un insieme di istruzioni, riusciamo a definire come disegnare un’immagine per più grandezze. Sarà la stessa immagine scalata in tre differenti formati: quelli necessari per la versione standard (retina @2x e re na @3x). È comoda da adottare per immagini semplici, come ad esempio le icone di una toolbar o di una navigation bar, ma non è consigliata per immagini complesse come un background, poiché si avrebbe una risoluzione meno ottimale.

Per settare l’immagine come Vector Asset basta selezionare lo Scale come Single Scale:


Il capitolo 10 di WWDC16 in Pillole si conclude qui. Ci vediamo alla prossima puntata per approfondire gli ultimi due argomenti che ci aiuteranno a migliorare la nostra app!


***

Per consultare la guida completa seguite il link (raccolta articoli completa).

Per ricevere l’intero ebook compila il seguente modulo con il tuo indirizzo mail!








NO COMMENTS

LEAVE A REPLY