Estou fazendo um aplicativo híbrido para Android.
No começo, eu decidi usar o localStorage, depois de passar 2 dias, percebi que era muito estranho e o deixei cair.
Então, peguei o indexedDB, depois de passar o dia inteiro de hoje e realmente obter a saída no Google Chrome, ele não está sendo executado em um WebView do aplicativo Android.
E nunca usei o banco de dados Web SQL porque estava obsoleto. De qualquer forma, percebi que o PhoneGap ainda usa o Web SQL e os navegadores do Android o suportam.
Por que o Web SQL foi preterido em primeiro lugar? E será uma boa ideia eu usar o Web SQL agora?
html5
sqlite
deprecation
local-storage
indexeddb
mosquito
fonte
fonte
Respostas:
Versão curta: o Web SQL foi descontinuado porque os padrões são realmente importantes e transformar o Web SQL em um padrão adequado teria sido proibitivamente difícil.
Como as implementações existentes do Web SQL são basicamente invólucros em torno do SQLite, qualquer tentativa de definir um padrão era basicamente "fazer o que o SQLite faz". Isso não é bom o suficiente; um verdadeiro padrão precisa ser independente, para definir a interface, os casos de canto e as exceções em si, em vez de apontar para uma implementação existente (especialmente uma implementação de terceiros como SQLite). Caso contrário, você corre o risco de pegar as peculiaridades de uma implementação específica e consagrá-las como padrão. Pelo que li, o W3C prefere várias implementações independentes dos padrões propostos para ajudar a garantir que isso aconteça; como o Web SQL estava tão ligado ao SQLite, isso simplesmente não iria acontecer.
O blog da Mozilla fornece mais detalhes sobre o raciocínio, em particular por não oferecer suporte ao Web SQL; aparentemente, eles foram uma das principais vozes para tornar o Web SQL obsoleto.
Você deve ir com o Web SQL agora? Não espero que os fornecedores que atualmente o suportam (como Google e Apple) o abandonem tão cedo, mas o IE e o Firefox não o adicionarão e, como está obsoleto, por que investir nele? (Por exemplo, Ido Green , no Google Developer Relations, não recomenda o uso.)
fonte
A resposta de Josh Kelley é até agora a melhor resposta que eu já encontrei sobre o motivo do trabalho padrão ter sido interrompido. Dito isto, acho que há uma perspectiva adicional a considerar em relação à base de usuários.
Embora eu discorde da abordagem de Ido Green sobre o assunto ("Esta é uma recomendação para os desenvolvedores da Web não usarem a tecnologia com a mesma eficácia") ...
Eu acredito (como o vi4m afirma nos comentários do artigo de Ido Green):
E acrescentaria outra abordagem lógica: se você está desenvolvendo para ambientes móveis ... ¿quais ambientes estão em mais mãos? Resposta: iOS e Android ... Portanto, se AMBOS suportam webSQL e seu objetivo é MASSIVE MOBILE, faça isso!
Pense que os aplicativos grandes já fizeram quase sempre no início, obtenha o MAIS PRIMEIRO e depois (depois de obter sucesso) recrie o trabalho para obter o restante restante (se você realmente deseja alcançá-los ou é solicitado). Finalmente, nem sempre o sucesso é quem marca o caminho?
Depois de ler o artigo de Nolan Lawson (no qual está clara sua intenção de dar uma chance à sua invenção), acredito que esse assunto se tornou uma nova guerra fria entre gigantes da tecnologia que nem deveria existir. Acredito que as especificações são feitas para permanecer (o mais longo e intocado possível - melhor para o desempenho orientado ao cliente). Ironicamente, o trabalho "pessoal das especificações" é gerar NOVAS especificações (às vezes onde não é necessário, para que ele possa fazer mais), e da mesma forma, os trabalhos de programadores às vezes se concentram em mudar e reescrever o que já funciona, em vez de fazer soluções para novos problemas e novas tendências.
Para mim, os bancos de dados do lado do cliente eram uma questão de simplesmente fazer paralelos (entre os lados do servidor e do cliente) para que pudéssemos criar, armazenar, fazer upload e baixar dados facilmente. Sob essa abordagem, ter as mesmas linguagens e estruturas (pelo menos para nós, desenvolvedores de código-fonte aberto do LAMP) é direto e lógico.
Acredito que a intenção do IndexedDB de ser uma alternativa com possibilidades mais amplas e mais recentes é uma abordagem sempre boa, mas de alguma forma me assemelha à necessidade de desenvolver software que PRECISA ser instalado (mesmo quando a solução principal pode permanecer na nuvem). Em um mundo que tende a permanecer conectado, soa como A) uma questão de controle e posse ou B) com foco no desenvolvimento de monstros para o lado do cliente ... mas para esse tipo de necessidade existem aplicativos (no mundo móvel) e software (no mundo dos PCs). Acredito que o objetivo do Webapps deve permanecer principalmente na extensão da Web, independentemente do dispositivo.
Acredito que um bom infográfico possa sair dessa abordagem.
fonte
A realidade é que as partes contribuintes chegaram a um impasse na direção do padrão. Em suma, ninguém poderia concordar.
O site do W3C explica isso.
Site da WSC
fonte