Параметры хранения данных в автономном режиме HTML5 - PullRequest
8 голосов
/ 17 ноября 2011

Мой друг-разработчик только недавно начал работать в новой компании, и одной из его задач является создание нового веб-приложения, которое позволяет их пользователям работать в автономном режиме, когда их сотрудники находятся в удаленных местах, а затем синхронизироваться сбаза данных на стороне сервера, для которой они еще не определили поставщика на стороне сервера (я предполагаю, что это будет SQL Server).

Я немного огляделся и кажется, что двумя жизнеспособными вариантами являются LocalStorageи IndexedDb, где LocalStorage является более популярной технологией?Они хотят перейти на HTML5, и это все прекрасно, но вкратце, мой вопрос (ы): / 1003 *

  • Каковы их варианты автономного хранения данных в HTML5?
  • Существуют ли более старые решения, которые имеют лучшую поддержку?
    • эти методы менее рискованны?
    • меньше времени для реализации?

Концепция хранения данных в автономном режиме в веб-приложении не кажется новой идеей, но делает это в современных технологиях (html5, asp.net 4.0 / 4.5).), где вы начинаете проникать в малоисследованную территорию.

  • Что, возможно, ваша компания делает, и что не работает?

Любые разумные ответы, основанные на фактических данных, скорее всего, получат мое одобрение, поэтомуне просто спешите получить первый ответ и попытайтесь набрать несколько быстрых очков, я ищу хорошую и убедительную обратную связь здесь.Спасибо.

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Существует несколько возможностей автономного хранения в HTML5: Веб-хранилище Web SQL Database IndexedDB Файловая система API

У вас есть очень хорошая презентация всех этих опций здесь:

http://www.html5rocks.com/en/tutorials/offline/whats-offline/#toc-older-storage

По сравнению со старыми вариантами (файлы cookie, хранилище на основе плагинов, специфичные для браузера функции) я процитирую из статьи:

«Более новые API хранилища, которые мы могли бы назвать« хранилищем HTML5 »,как правило, превосходят в плане открытости и соответствия стандартам. Конечно, не все браузеры включают все новые API, и вам, возможно, придется поддерживать старые браузеры, которые вообще не включают ни один из них. Поэтому старые методы все еще полезныдля постепенной деградации. "

Другие полезные ссылки:

http://php -html.net / tutorials / html5-local-storage-guide /

http://www.tutorialspoint.com/html5/html5_web_sql.htm

Надеюсь, это поможет ...

3 голосов
/ 18 ноября 2011

Я думаю, что ваш лучший выбор - использовать локальное хранилище, так как это наиболее широко реализованный стандарт параметров хранилища, доступных в HTML5.

IndexedDB был чрезмерно спроектирован (на мой взгляд) и не получил широкой поддержки (пока) для всей настойчивости Mozilla в том, что лучше, чем нарезанный хлеб , и будущее WebSQL выглядит немногонеопределенность, так как Mozilla отказывается от ее реализации , и она больше не работает из-за тупика между W3C и поставщиками браузеров, которые фактически его реализовали (Chrome / Safari / Opera).

В настоящее время благодаря внедрению смартфона происходит небольшой взрыв браузеров, поэтому сложно определить, какая часть рынка поддерживает функции HTML5 LocalStorage, но используя statcounter Я смогчтобы вычислить это между Chrome (4+), Firefox (3. +), Safari (4+), Opera (10.5+) и IE (8+), включая iPhone и Android, вы захватите около 80-85%рынка, причем эта цифра идет вверх со скоростью 1-2% в месяц.Остальные - IE 6/7 (который упрямо склонен зависать), старые версии новых браузеров (с функциями обновления, которые обычно поддерживали их актуальность), и некоторые мобильные браузеры застряли в каменном веке.

Asдля более старых вариантов я бы добавил Постоянство пользовательских данных для IE6 / 7 в список, предоставленный @ user998692, но в любом случае вы столкнетесь с множеством проблем несовместимости браузеров и поддержкоймножество технологий, которые усложнят вашу кодовую базу и тестирование и соответственно увеличат сроки (и стоимость) доставки.Однако если вы действительно хотите пойти по этому пути, я бы порекомендовал вам взглянуть на PersistJS , поскольку ребята, которые собрали его вместе, уже проделали большую часть работы, которая вам уже понадобилась бы.

В наши дни стоит больше смотреть вперед (на то, как рынок будет выглядеть через 1-2 года, когда ваше приложение будет распространяться и приобретать широкую пользовательскую базу), чем в обратном направлении, поэтому я бы сказал, что HTML5 LocalStorage - это, вероятно, ваш лучший вариант..

...