Pull to refresh

Comments 39

Не тестировали на скорость работы идентичных вариаций в случае выполнения на клиенте хтмл 5 и стандартным php скриптом?
Причем тут пхп? Или предлагаете сравнить sqlite на сервере с sqlite на клиенте?

База на клиенте не заменит базу на сервере, у нее задачи другие. Например, позволить веб приложению функционировать в режиме оффлайн, или выступить в качестве кеша — хотя тут уже storage уместнее.

Хотя возможны и другие варианты, например, роль основной базы в приложении Opera Unite…
точно, ступилс, что-то совершенно не о том подумал :)
Лично я в этом не вижу смысла. HTML все больше уходит от языка разметки, которым задумывался первоначально.
Ну вы же понимаете, что sqlite на клиенте — это никоим образом не HTML :)
HTML был и остается тем же что и всегда — декларативным языком разметки. Просто для разработки красивых и динамичных веб приложений не хватает очень многого и со стороны HTML, и JS, и транспортных возможностей, и…
Вот как-то так и получилось, что собрали всё это светлое будущее в одну кучу. И назвали HTML5
HTML тут по сути нипричем, это для толстых клиентов сделано, и я лично, разрабатывая в свое время очень большой проект, был бы доволен такой возможности как клиентские дб
Все разъяснившим что к чему, спасибо. Въехал.
Javascript (nodejs+v8) уходит на сервера, а ORM приходит к клиенту. Как тяжело ломать стереотипы.
Подскажите, кто из браузеров это поддерживает?
WebKit(Chrome, Safari включая iPhone) и Opera c версии 10.50
А что там с ФФ?
В Firefox поддержка работы с произвольными SQLite базами давно уже есть.
https://addons.mozilla.org/en-US/firefox/addon/5817
Если не ошибаюсь, это имеено инструмент для работы, но не интерфейс.
В FF 3.6 реализовано DOM Storage — https://developer.mozilla.org/en/DOM/Storage
У Chrome трудности с поддержкой.
Это же офигенная вещь выходит. Дополнительное хранилище на стороне клиента лишним не будет, давно лелеял свою параноидальную идею об использовании ассиметричного шифрования для аутентификации пользователя на Веб-проектах.
чем для этого куки не угодили?
А в том-то и соль, что использовать это шифрование каждый раз — слишком ресурсоемко и ненужно. Его планирую использовать иногда, в остальных случая использовать как раз временные cookie. Имелось ввиду что не ключ в них передавать, конечно же.
Не понял, что именно предполагается хранить в безе клиента?
а если я кэш постоянно очищаю? что тогда?
А думаете эта БД будет стираться при очистке кеша?
Если будет — чтож, придется перелогиниваться вручную =)

Все же отошли мы от темы топика, нот гуд.
Вообще хорошая вещь. Тоже выберу, как только HTML5 заработает на полную.
HTML5 достигнет статуса W3C recommendation в 2022 или позже, поэтому начинайте внедрение сейчас =)
UFO just landed and posted this here
а вот web sql не то что бы нас покинул, но вроде как засобирался.
Неплохая выйдет связь со сторонними приложениями на компе клиента, через БД.
UFO just landed and posted this here
UFO just landed and posted this here
Подмена знаков вопроса нативно — зачем? База локальная, что ломать тут?
Это в первую очередь механизм для переиспользования запросов (для ускорения их отработки при нескольких последовательных вызовах), во вторую — для передачи сложным структур данных (array/blob/clob, хотя не в курсе: есть ли такое в sqlite), а уж потом для верификации типов и противодействия sql-injection.
Видимо, чтобы не было подобного:

(обычный текст введен пользователем) — I'm looking at cruiser «Aurora»! That's great!

Какие кавычки в запросе не поставите — без экранирования не обойтись
Если интересно: БД на стороне клиента возможна также через использование Google gears (http://gears.google.com/)
Ура, новое не паханное поле для специалистов из области клиентской оптимизации.
А как делать синхронные запросы, а то эта асинхронность башню рвет.
openDatabaseSync() почему-то не работает.
Это не реализовано.
Пробовал — не работает в Хроме.
работает и еще как и в хроме и в андроиде
в статье кое-что упущено, при использовании метода openDatabase работает асинхронная версия API и сигнатура метода db.transaction включает в себя ещё два обработчика
transaction(transaction, errorCallback, successCallback);
Sign up to leave a comment.

Articles