2012-06-11 12 views
7

Para Chrome, puedo usar IndexedDB y WebSQL, para Firefox, puedo usar IndexedDB, ¿qué pasa con IE? Desarrollé una aplicación que usa WebSQL y funciona bien en el escritorio de Chrome y Safari, iOS Safari y el navegador de Android. Luego, quiero portarlo a Desktop Firefox e IE. Estoy considerando IndexedDB, pero descubrir IE no lo soporta realmente. ¿Qué alternativa tengo?¿IE admite IndexedDB, WebSQL o una base de datos similar a SQLite?

+0

¿Qué versiones de IE necesitas para tu apoyo? – Spudley

Respuesta

7

IE10 admite IndexedDB. También puede usar localStorage en IE8 +. Para versiones anteriores, puede usar el comportamiento propietario userData: http://www.javascriptkit.com/javatutors/domstorage2.shtml

Tenga en cuenta que la base de datos WebSQL está en desuso y las especificaciones ya no se mantienen.

+0

La mayoría de los usuarios de IE están ahora en IE8 o IE9, por lo que IndexDB no ayuda. localStorage no admite consultas de SQLite, ¿por lo que tengo que volver a escribir mi aplicación para no utilizar una base de datos local? WebSQL está depreciado, pero es lo único que funciona actualmente en el escritorio Chrome, Safari Y móvil. Me hubiera encantado utilizar IndexedDB, pero no veo ningún plan para soporte móvil. ¿No es ese el caso? – netmobile

+0

No hay planes anunciados, no. El IDB en Chrome cuenta con el respaldo de LevelDB, por lo que es probable que tengan que obtenerlo en Android antes de que Google lo aporte a un WebKit para dispositivos móviles. FF está respaldado por SQLite, por lo que es una buena opción para Android. Quién sabe si alguna vez habrá soporte en iOS. Parece que no concuerda bien con el modelo de aplicación nativa que Apple favorece de todos modos. – buley

3

Como notas duri WebSQL ha recibido el hechizo de doom **, pero a menudo es la única tecnología práctica para almacenamiento local multiplataforma: especialmente cuando se trata de dispositivos móviles.

IE does not support WebSQL, y dado que las personas que escriben las especificaciones no pueden llegar a un acuerdo sobre una implementación, es probable que no veas una implementación pronto. IE10 todavía no es mainstream, por lo que tampoco es IndexedDB. (Además, IndexedDB sufre de dos implementaciones diferentes en Chrome (antiguo) y FF (nuevo) lo que hace que incluso no sea completamente estable desarrollarse).

localStorage is the only truly cross platform option, con el móvil Opera como el único no implementador. En mi experiencia, no debes contar con un buen rendimiento con conjuntos de datos de tamaño mediano o grande. ** Al igual que con "McBeth" en cines, le pediré que nunca diga estas palabras cerca de una implementación de IndexedDB por favor: "La especificación de base de datos web SQL ya no se mantiene y el soporte se puede eliminar en futuras versiones".

+0

Tiendo a pensar que WebSQL tendrá una vida mucho más larga que todo lo que se habla de ser obsoleto, simplemente porque funciona y es la única tecnología práctica si también necesita dispositivos móviles. Simplemente no veo que ningún fabricante de navegador lo elimine pronto. – netmobile

+0

Totalmente de acuerdo. La gente cita las especificaciones de la perdición, pero nunca hablas de que el código a menudo se agrega pero rara vez se elimina. – buley

0

El equipo de google chrome ha sido muy partidario de IndexedDB, por lo que esperaría que Chrome para Android lo obtenga pronto si aún no lo tiene. No es necesario tener "soporte" de LevelDB en Android, es solo otra biblioteca como muchas otras que usa Chrome.

Cuestiones relacionadas