2010-06-08 8 views
11

Il caso d'uso è di avere un archivio di applicazioni sul lato client quando è offline. È consigliabile utilizzare il database SQL Web (supportato da Chrome e Safari, non FF) o attendere che i browser implementino l'API del database indicizzato?Si consiglia di utilizzare il Database SQL Web per l'archiviazione sul lato client

+0

So che è un po 'tardi, ma per progetti futuri, prova: SequelSphere (www.sequelsphere.com). È un motore di database relazionale HTML5 che supporta SQL e memorizza i dati in Persistenza locale. Non utilizza i database WebSQL, ma piuttosto è il proprio motore SQL. In quanto tale, funzionerà in qualsiasi browser compatibile con JavaScript. Mentre attualmente supporta solo l'archiviazione locale, SequelSphere supporterà eventualmente altri motori di persistenza locali come IndexedDB e File API. Per una completa divulgazione: sono collegato alla società SequelSphere. :) –

risposta

0

Se è necessario il supporto per Firefox, quindi ovviamente no.

+0

Quindi, se il tuo obiettivo sono dispositivi Internet mobili (SmartPhone), allora starai bene con il web SQL poiché la maggior parte delle piattaforme sono WebKit o IE. – Marc

1

Sembra che WebSQL sia in uscita, da sostituire con il supporto IndexedDB. Firefox e Internet Explorer non hanno intenzione di supportare WebSQL, vogliono implementare IndexedDB per Firefox 4 e IE9. Chrome è impegnato a implementarlo, sono sicuro che Opera e Safari seguiranno l'esempio.

Attualmente tutti i browser HTML5 (e alcune versioni IE) supportano LocalStorage che è un semplice database di chiavi/valori in grado di memorizzare solo le stringhe, quindi se avete bisogno di più capacità di archiviazione strutturate, dovrete attendere fino alla fine quest'anno (circa) per l'ampio supporto IndexedDB.

+0

Sto cercando una memoria strutturata, potrebbe essere CouchDB è probabilmente la scelta per ora. – rnella01

+1

CouchDB non verrà eseguito nel browser (AFAIK), si tratta di una tecnologia di database che viene eseguita sul server, quindi non funzionerà con l'archiviazione offline HTML5. –

+0

"Sembra che WebSQL sia sulla sua uscita, per essere sostituito dal supporto IndexedDB" È davvero così? Ho visto alcune discussioni sull'argomento ... http://sites.google.com/a/chromium.org/dev/developers/design-documents/indexeddb https://lists.webkit.org/ pipermail/webkit-dev/2010-January/011409.html ... ma Google ha annunciato solo il supporto per Chrome Web SQL il 25 gennaio: http://blog.chromium.org/2010/01/more-resources- per-sviluppatori.html ... e Safari ha continuato a supportare Web SQL da Safari 3.1 e iPhone OS 2.0: http://bit.ly/c7z1Pe –

8

9 mesi dopo che questa domanda è stata posta e il database SQL Web è "... non più in manutenzione attiva e il gruppo di lavoro Applicazioni Web non intende mantenerlo ulteriormente": http://en.wikipedia.org/wiki/Web_SQL_Database.

Se si sta sviluppando una soluzione per il rilascio l'anno prossimo (in particolare per dispositivi mobili), IndexedDB è l'opzione migliore. Se hai bisogno di copertura ora (escluso Firefox), puoi utilizzare il Database SQL Web o serializzare oggetti JSON in LocalStorage.

+1

Ho preso l'approccio "serializza oggetti JSON in LocalStorage" per ora. Sarà sicuramente rivisitare l'approccio IndexedDB una volta implementato da tutti i principali fornitori di browser. Per ora ho trovato questo utile: http://goo.gl/kwaAU – rnella01

2

Questo è un thread precedente ma volevo inserire i miei 2 centesimi. A partire da oggi stiamo sviluppando applicazioni Web iOS per Safari con l'API Web DB esistente. Non ho visto alcuna indicazione che Safari rilascerà questo problema nelle versioni future, tuttavia dal momento che queste app devono essere utilizzate oggi su iPad, stiamo assumendo un rischio calcolato e saremo pronti a passare a IndexedDB se/quando necessario.

+0

sembra che IndexedDB sia ora supportato nell'ultima versione dei browser, è probabilmente tempo di sperimentarlo e condividere alcune esperienze ... – rnella01

+0

@ mella01 indexeddb non è supportato sui browser mobili correnti. l'eccezione è BlackBerry 10 (di tutte le cose!). Rif: http://caniuse.com/#search=indexeddb – oligofren

1

Penso che in un caso d'uso come questo (mix di online e offline), si dovrebbe prendere in considerazione anche la sincronizzazione dei dati (tra il frutto del lavoro offline memorizzato localmente e la maggior parte del lavoro presumibilmente memorizzato nel server per il caso online mainstream). Apparentemente, nessuna delle due opzioni affronta questo.

+0

Nel nostro caso abbiamo creato un framework javascript che si occupa della sincronizzazione quando l'utente accede al sistema quando è online. – rnella01

Problemi correlati