Я делаю гибридное приложение для Android.
Сначала я решил использовать localStorage, потратив 2 дня, я понял, что это очень странно, и поэтому бросил его.
Затем я поднял indexedDB, потратив весь сегодняшний день и фактически получив вывод в Google Chrome, он не работает внутри WebView приложения для Android.
И я никогда не использовал базу данных Web SQL вообще, потому что она устарела. Как бы то ни было, до меня дошло, что PhoneGap по-прежнему использует Web SQL, и браузеры Android поддерживают его.
Почему Web SQL вообще не рекомендуется? И будет ли для меня хорошей идеей перейти на Web SQL сейчас?
Ответы:
Короткая версия: Web SQL устарел, потому что стандарты действительно важны, и превратить Web SQL в надлежащий стандарт было бы непосильно сложно.
Поскольку существующие реализации Web SQL по сути являются обертками вокруг SQLite, любая попытка определить его стандарт была в основном «делай то, что делает SQLite». Это не достаточно хорошо; истинный стандарт должен быть самодостаточным, чтобы определять интерфейс, а также сами случаи и исключения, а не указывать на существующую реализацию (особенно стороннюю реализацию, такую как SQLite). В противном случае вы рискуете принять причуды одной конкретной реализации и закрепить их в качестве стандарта. Из того, что я прочитал, W3C предпочитает несколько независимых реализаций предлагаемых стандартов, чтобы гарантировать, что это произойдет; поскольку Web SQL был так привязан к SQLite, этого просто не произойдет.
Блог Mozilla содержит более подробную информацию об их аргументации, в частности, о том, что он не поддерживает Web SQL; по-видимому, они были одним из главных голосов в устаревшем Web SQL.
Должны ли вы перейти с веб-SQL сейчас? Я не ожидаю, что поставщики, которые в настоящее время поддерживают его (например, Google и Apple), в ближайшее время откажутся от него, но IE и Firefox не будут его добавлять, и, поскольку он устарел, зачем инвестировать в него? (Например, Ido Green с Google Developer Relations не рекомендует его использовать.)
источник
Ответ Джоша Келли - пока ЛУЧШИЙ ответ, который я когда-либо встречал, о причине остановки стандартной работы. Тем не менее, я думаю, что есть дополнительная перспектива для рассмотрения относительно пользовательской базы.
Несмотря на то, что я не согласен с подходом Идо Грина к этой теме («Это рекомендация для веб-разработчиков не использовать эту технологию более эффективно») ...
Я верю (как заявляет vi4m в комментариях к статье Идо Грина):
И я бы добавил еще один логический подход: если вы разрабатываете для мобильной среды ... ¿какие среды находятся в большем количестве рук? Ответ: iOS и Android ... Так что, если ОБА поддерживает WebSQL, и ваша цель - МАССОВАЯ МОБИЛЬНОСТЬ, сделайте это!
Подумайте, как большие приложения сделали почти всегда с самого начала, сначала получите МОСТ, а затем (после достижения успеха) воссоздайте работу, чтобы получить оставшееся меньше (если вы действительно хотите их достичь или вас об этом просят). Наконец, разве не всегда успех, кто отмечает путь?
После прочтения статьи Нолана Лоусона (в которой ясно, что он намерен дать шанс на свое изобретение), я считаю, что этот вопрос стал новой холодной войной между техническими гигантами, которой даже не должно существовать. Я считаю, что технические характеристики остаются неизменными (чем дольше и нетронутыми, насколько это возможно, тем лучше для ориентированной на клиента производительности). По иронии судьбы, работа "специалиста" состоит в том, чтобы генерировать НОВЫЕ спецификации (иногда там, где в этом нет необходимости, поэтому у него может быть что-то большее), и аналогичным образом задания программистов иногда фокусируются на изменении и переписывании того, что уже работает, вместо того, чтобы решать новые проблемы и новые тенденции.
Для меня клиентские базы данных - это просто создание параллелей (между серверной и клиентской сторонами), чтобы мы могли легко создавать, хранить, загружать и загружать данные. При таком подходе наличие одинаковых языков и структур (по крайней мере для нас, разработчиков LAMP с открытым исходным кодом) - это просто и логично.
Я считаю, что намерение IndexedDB стать альтернативой с более широкими и новыми возможностями - это всегда хороший подход, но каким-то образом он напоминает мне необходимость разработки программного обеспечения, которое НУЖНО установить (даже если основное решение может остаться в облаке). В мире, который стремится оставаться на связи, это звучит как A) вопрос контроля и владения или B) сосредоточение внимания на разработке монстров для клиентской стороны ... но для такого рода потребностей существуют приложения (в мобильном мире) и программное обеспечение (в мире ПК). Я считаю, что цель Webapps должна заключаться в основном в расширении сети независимо от устройства.
Я верю, что при таком подходе может получиться хорошая инфографика.
источник
Реальность такова, что участвующие стороны зашли в тупик в направлении стандарта. Короче, никто не мог согласиться.
Сайт W3C объясняет это.
WSC сайт
источник