¿Por qué la base de datos web SQL está en desuso?

75

Estoy haciendo una aplicación híbrida de Android.

Al principio decidí usar localStorage, después de pasar 2 días, me di cuenta de que es muy extraño y lo dejé caer.

Luego, obtuve indexedDB, después de pasar todo el día de hoy y obtener el resultado en Google Chrome, no se está ejecutando dentro de una vista web de la aplicación de Android.

Y nunca usé la base de datos Web SQL porque estaba en desuso. De todos modos, me he dado cuenta de que PhoneGap aún usa Web SQL y los navegadores de Android lo admiten.

¿Por qué se desaprobó Web SQL en primer lugar? ¿Y será una buena idea para mí ir con Web SQL ahora?

    
pregunta gnat 04.12.2013 - 14:06

3 respuestas

85

Versión corta: Web SQL fue obsoleto porque los estándares son realmente importantes y convertir a Web SQL en un estándar adecuado hubiera sido prohibitivamente difícil.

Dado que las implementaciones existentes de Web SQL son básicamente envoltorios alrededor de SQLite, cualquier intento de definir un estándar fue básicamente "hacer lo que hace SQLite". Esto no es lo suficientemente bueno; un verdadero estándar debe ser autónomo, para definir la interfaz y los casos de esquina y las excepciones en lugar de señalar una implementación existente (especialmente una implementación de terceros como SQLite). De lo contrario, corre el riesgo de tomar las peculiaridades de una implementación en particular y consagrarlas como el estándar. Por lo que he leído, el W3C prefiere múltiples implementaciones independientes de los estándares propuestos para ayudar a garantizar que esto suceda; ya que Web SQL estaba tan ligado a SQLite, eso simplemente no iba a suceder.

blog de Mozilla ofrece más detalles sobre su razonamiento en particular por no soportar Web SQL; al parecer, fueron una de las voces más importantes en la eliminación de Web SQL.

¿Deberías ir con Web SQL ahora? No espero que los proveedores que actualmente lo admiten (como Google y Apple) lo abandonen pronto, pero IE y Firefox no lo agregarán, y ya que está en desuso, ¿por qué invertir en él? (Por ejemplo, Ido Green , con Google Developer Relations, no recomienda su uso. )

    
respondido por el Josh Kelley 04.12.2013 - 14:34
16

La respuesta de Josh Kelley es hasta ahora la MEJOR respuesta que he encontrado sobre la razón del trabajo estándar que se debe detener. Dicho esto, creo que hay una perspectiva adicional a considerar con respecto a la base de usuarios.

Aunque no estoy de acuerdo con el enfoque de Ido Green sobre el tema ("Esta es una recomendación para los desarrolladores web que ya no utilicen la tecnología de manera tan efectiva") ...

Creo (como lo dice vi4m en los comentarios del artículo de Ido Green):

  

Nosotros (los desarrolladores) todavía podemos usar esta tecnología. Ningún proveedor del navegador solicitó la eliminación de esta tecnología, ni planea eliminarla. Los desarrolladores son la voz de la web. Todavía podemos seguir usándolo, tal vez Mozilla cambie de opinión ;-)

Y agregaría otro enfoque lógico: si está desarrollando para entornos móviles ... ¿qué entornos están en más manos? Respuesta: iOS y Android ... Entonces, si AMBOS soportan webSQL y su objetivo es MASIVO MÓVIL, ¡adelante!

Piense que las aplicaciones grandes lo han hecho casi siempre al principio, primero obtenga la MAYORÍA, luego (una vez que haya logrado el éxito), vuelva a crear el trabajo para obtener la cantidad restante (si realmente quiere lograrlas o se le pide que lo haga). Finalmente, ¿no es siempre el éxito quién marca el camino?

Después de leer el artículo de Nolan Lawson (en el que está claro su intención de darle una oportunidad a su invento), creo que este asunto se convirtió en una nueva guerra fría entre los gigantes tecnológicos que ni siquiera debería existir. Creo que las especificaciones están hechas para permanecer (lo más largas e intactas posible, mejor para el rendimiento orientado al cliente). Irónicamente, el trabajo de "chicos de especificaciones" es generar NUEVAS especificaciones (a veces donde no se necesita ninguna, para que pueda tener algo más que hacer), y los trabajos de los programadores a veces se centran en cambiar y reescribir lo que ya funciona en lugar de hacer soluciones para nuevos problemas Y nuevas tendencias.

Para mí, las bases de datos del lado del cliente era simplemente una cuestión de hacer paralelos (entre el lado del servidor y el del cliente) para que pudiéramos crear, almacenar, cargar y descargar datos fácilmente. Bajo este enfoque, tener los mismos lenguajes y estructuras (al menos para nosotros, los desarrolladores de código abierto de LAMP) es sencillo y lógico.

Creo que la intención de IndexedDB de ser una alternativa con posibilidades más amplias y nuevas es siempre un buen enfoque, pero de alguna manera se asemeja a la necesidad de desarrollar un software que NECESITA ser instalado (incluso cuando la solución principal puede permanecer en la nube ). En un mundo que tiende a estar conectado, suena como A) una cuestión de control y posesión o B) que se centra en desarrollar monstruos para el lado del cliente ... pero para ese tipo de necesidades existen aplicaciones (en el mundo móvil) y software (en el mundo de la PC). Creo que el objetivo de Webapps debería ser principalmente extender la web sin importar el dispositivo.

Creo que de este enfoque podría surgir una buena infografía.

    
respondido por el DavidTaubmann 14.03.2014 - 17:09
1

La realidad es que las partes contribuyentes llegaron a un punto muerto en la dirección de la norma. En resumen, nadie podría estar de acuerdo.

El sitio de W3C explica esto.

  

La especificación alcanzó un punto muerto: todos los implementadores interesados tienen   usamos el mismo backend SQL (Sqlite), pero necesitamos múltiples aplicaciones independientes   implementaciones para proceder a lo largo de una ruta de estandarización.

sitio de WSC

    
respondido por el htm11h 20.06.2014 - 17:16

Lea otras preguntas en las etiquetas