Sto avviando lo sviluppo di un'app Web con requisiti di archiviazione del database offline. Per farla breve, l'applicazione dovrebbe essere in grado di funzionare su:HTML5 IndexedDB, Database Web SQL e guerre browser
- Uno dei principali browser desktop, Chrome ha preferito
- Safari su iOS
- del browser nativo di Android (basato sul V8 e WebKit)
Quindi la domanda è quale tecnologia scegliere: IndexedDB o Database SQL Web?
Per quanto riguarda il database SQL Web, da un lato, è pronto per essere utilizzato in uno qualsiasi degli scenari di cui sopra. D'altra parte, Mozilla ha dichiarato Firefox non sarà mai la sua attuazione, e di tronchi con l'HTML5 working draft la specifica ha raggiunto un vicolo cieco:
Questa specifica ha raggiunto un punto morto: tutti gli implementatori interessati hanno usato il backend stesso SQL (SQLite), ma abbiamo bisogno di più implementazioni indipendenti per procedere lungo un percorso di standardizzazione. Fino a quando un altro implementatore non è interessato a implementare questa specifica, la descrizione del dialetto SQL è stata lasciata semplicemente come riferimento a Sqlite, che non è accettabile per uno standard. Se sei un implementatore interessato all'implementazione di un back-end SQL indipendente, contatta l'editor in modo che possa scrivere una specifica per il dialetto, consentendo così a questa specifica di andare avanti.
IndexedDB è l'alternativa raccomandata da Mozilla, ma verrà solo in Firefox 4. Microsoft è interessata e Chrome lo supporterà. Non conosco nulla dei piani di Apple riguardanti IndexedDB.
Personalmente sono incline a scegliere il Database SQL Web, ma solo perché sono abituato a SQLite, mi piace la potenza e l'espressività di SQL e capisco il modello relazionale. IndexedDB, per me, è un'incertezza.
Detto questo, ho paura di scommettere sul cavallo sbagliato. È sicuro che il supporto per il database SQL Web continuerà a esistere, anche se IndexedDB diventa lo standard?
(Una nota su CouchDB:? Si vede anche come alternativa)
Sì, il problema sta nel rischio che prenderò. Alla fine, WebSQL verrà abbandonato? È una questione di tempo fino a quando non viene abbandonato, o posso tranquillamente supporre che rimarrà supportato anche se forse non nello sviluppo di funzionalità attive? C'è qualche informazione che non sto considerando che mi permetterebbe di fare una scelta più consapevole? Grazie. – ivo
Non ci sono stati realmente piani concreti per il supporto a lungo termine di Web SQL o IndexedDB. Se vuoi veramente mitigare il rischio, puoi sempre bypassare le alternative SQL e utilizzare una libreria di serializzazione JSON per archiviare le cose in HTML5 localStorage o sessionStorage. – codelark
Appena scoperto che webSQL (e localStorage) non è più persistente in iOS 5.0.1. La posizione in cui sono memorizzati i dati webSQL viene ora regolarmente pulita dal sistema operativo. Se utilizzi Phonegap/Cordova, è in corso lo sviluppo di una soluzione alternativa al plugin. https://issues.apache.org/jira/browse/CB-330 – Wytze