iOS 9: occorre prepararsi all’aggiornamento

by Andrea Maioli on 25 agosto 2015

Fra qualche settimana Apple renderà disponibile per tutti la nuova release del SO per smartphone e tablet ed è prevedibile che verrà installato nella maggior parte dei dispositivi entro fine settembre. È quindi importante prepararsi per un eventuale upgrade delle applicazioni che abbiamo già sviluppato e pubblicato su app store.

Ma perchè occorre prepararsi? Sebbene il nuovo iOS presenti alcune novità di rilievo, Apple ha apportato alcune modifiche inaspettate a webkit, il motore javascript di Safari che deve essere obbligatoriamente utilizzato da chi sviluppa applicazioni mobile con architettura ibrida. In particolare è stata eliminata l’interfaccia WebSQL sincrona senza nemmeno documentarne la sparizione.

Quali sono le conseguenze di questa eliminazione? Chi utilizza WebSQL come sistema di memorizzazione di dati offline sarà costretto ad utilizzare uno stile di programmazione asincrono, oppure dovrà obbligatoriamente utilizzare un componente nativo per l’accesso ai dati. Per chi ha sviluppato applicazioni con Instant Developer Foundation, quest’ultima è la soluzione che abbiamo scelto e con l’aggiornamento v14.0 inviato nei giorni scorsi potete già testarne il funzionamento.

Purtroppo questa soluzione non è indolore. Infatti l’utilizzo di un componente nativo obbliga il sistema ad effettuare un cambio di contesto javascript/nativo ad ogni query e questo richiede tempo, quindi le performance di app che utilizzano molte query diminuiranno. Per mitigare questo problema abbiamo sviluppato un meccanismo di caching delle query di modifica dei dati (insert, update, delete) il cui comportamento può essere personalizzato per ottimizzare ancora di più alcuni casi particolari.

Che cosa deve fare quindi chi ha sviluppato app mobile con Instant Developer Foundation?

  • Se le app devono girare solo su dispositivi Android, oppure se i dispositivi Apple non verranno aggiornati ad iOS 9, non occorre fare nulla.

  • Se le app verranno utilizzate solo attraverso Caravel, esse continueranno a funzionare, ma solo se si utilizza l’ultima versione di Caravel. Tuttavia è consigliabile testarle per controllarne le performance ed è possibile farlo anche se non è presente iOS 9 sul dispositivo, infatti nelle opzioni di Caravel è possibile attivare il componente nativo anche sulle versioni precedenti.

  • Se avete pubblicato la vostra app tramite un pacchetto di installazione, è necessario inviare ad app store una versione aggiornata. In questo caso dovrete ricreare il pacchetto di installazione con l’ultima versione di Instant Developer e testarne il funzionamento.

In ogni caso vi invitiamo a leggere le note di rilascio dell’ultimo aggiornamento di Instant Developer e ad utilizzare il servizio di assistenza per avere informazioni su come ottimizzare al massimo il funzionamento delle vostre app.

{ 3 comments… read them below or add one }

1 Big_Rosta 25 agosto 2015 alle 16:05

Ciao.
Ho installato l’ultima versione di Caravel: come si imposta il componente nativo citato al punto 2?
Dove trovo l’opzione?
Grazie.
Ciao.

2 Andrea Maioli 25 agosto 2015 alle 16:15

E’ nelle opzioni di caravel: apri il menù dove trovi l’elenco delle app installate in caravel, nella tabbed view in basso scegli impostazioni e poi lo trovi nella pagina che appare. Questo se il dispositivo è iOS8, perché in iOS9 l’opzione viene nascosta in quanto sempre attiva.

3 Big_Rosta 25 agosto 2015 alle 16:32

Grazie, ho visto l’impostazione.
Stavo provando su un iPhone 4s con una versione vecchia di Caravel.
Chiedo scusa.
Ciao.

Leave a Comment

Previous post:

Next post: