2011-01-18 19 views
12

Esta especificación http://www.w3.org/TR/webdatabase/ dice:¿Cuál es el estado de la base de datos HTML5?

Este documento estaba en la pista Recomendación W3C pero el trabajo de especificación se ha detenido. La especificación llegó a un callejón sin salida: todos los implementadores interesados ​​han utilizado el mismo back-end SQL (Sqlite), pero necesitamos múltiples implementaciones independientes para avanzar a lo largo de una ruta de estandarización.

¿Esto significa que la base de datos HTML5 se va a ir, y durante algún tiempo tendremos un estándar de facto usando SQLite, posiblemente con diferencias de navegador? ¿O el W3C ha publicado un plan de ataque para terminar el estándar?

+0

Estado: propuesta implementada por Google y Apple, y asesinado por Microsoft y Mozilla (también conocido como no implementado porque "los usuarios no lo quieren" [= si Microsoft lo implementara, podría hacer una búsqueda rápida de texto completo en gMail] , que es algo que MS no quiere que pueda hacer porque debería usar y pagar por MS Outlook]). Como siempre. "Reemplazado" por IndexedDB, que realmente no es un DB relacional, sino un almacén de documentos NoSQL Key-Value orientado a objetos. Lo cual no tiene sentido, ya que la interfaz es demasiado complicada, y todos los objetos JavaScript ya son matrices asociativas. –

Respuesta

5

Según this article:

[. ..] creemos que vale la pena explicar nuestras elecciones de diseño, y por qué creemos que IndexedDB es una mejor solución para la web t Han Web SQL Database.

En otro artículo, compare IndexedDB with Web SQL Database, y tenga en cuenta que el primero proporciona mucha simplicidad sintáctica sobre este último. IndexedDB deja espacio para que una biblioteca de JavaScript de terceros se ubique entre las primitivas subyacentes con una API de BTree, y esperamos ver iniciativas como BrowserCouch en la parte superior de IndexedDB. Los desarrolladores web intrépidos incluso pueden construir una API SQL sobre IndexedDB. Tendríamos bienvenida particular una implementación de la API de base de datos web SQL en la parte superior de IndexedDB, ya que creemos que esto es técnicamente posible. Comenzar con una API basada en SQL para su uso con primitivas del navegador no era el primer paso correcto, pero ciertamente hay espacio para API basadas en SQL además de IndexedDB.

No estoy balanceaba personalmente por los argumentos expuestos en el artículo, pero parece claro que (por el momento) Mozilla ha decidido que base de datos SQL Web está muerta.

Otros comentarios interesantes sobre este artículo pueden encontrarse on Hacker News.

+0

_Gracias a @a_horse_with_no_name para el artículo original que me vinculó a una discusión más relevante._ – Phrogz

4

Mi opinión es que esto se llama ahora "IndexedDB"
http://www.w3.org/TR/IndexedDB/

Al parecer, el equipo de Firefox ha comenzado a implementar esto:
http://hacks.mozilla.org/2011/01/indexeddb-in-firefox-4/

+0

IndexedDB es un estándar menor, pero parece ser el sucesor adecuado. Gracias por los enlaces útiles. – Phrogz

+1

Ver en particular el Ejemplo 4 en [este artículo] (http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/) que compara IndexedDB con Web SQL. Mire detenidamente el código loco que se necesita para realizar un 'LEFT JOIN'. – Phrogz

1

No sé si alguien sabe la respuesta. A Mozilla no le gusta la dependencia de SQLite y ha decidido ir por un camino diferente. Sin embargo, todos los navegadores basados ​​en WebKit ya lo han implementado y no veo que lo eliminen, ya que cualquier sitio web creado para aprovechar las especificaciones se rompería.

Esto significa que, al menos en ciertos contextos, principalmente en la esfera móvil donde la mayoría de los navegadores tienen una implementación de webkit, puede tener sentido utilizar la especificación Web SQL de HTML5. Veo esto como especialmente cierto para los desarrolladores que buscan crear aplicaciones móviles usando un marco como phonegap.

Algunas veces, como desarrollador de aplicaciones, desea proporcionar a los usuarios acceso a los datos incluso si no están conectados a Internet o si la conexión es lenta y algunos tipos de datos se almacenan de manera más eficiente en un base de datos que en una cookie o cashe JSON. Por ejemplo, si tiene datos que tienen relaciones, es mucho más fácil y rápido hacer una consulta de combinación para extraer los datos que necesita que buscar un mapa JSON.

No creo que la especificación esté muerta, y realmente espero que Mozilla revertirá su postura para que los desarrolladores puedan usarla para resolver problemas fuera del mundo del webkit móvil.

Cuestiones relacionadas