Розробник та блогер Julien Etienne у своїй колонці на платформі Medium радить відмовитися від localStorage. Ми переклали текст, щоб ви могли ознайомитися з його аргументами. Далі — слово автору.
localStorage не був розроблений для сучасних додатків і не підтримує алгоритм структурованого клонування. Заголовок не є клікбейтом, повідомлення різке: «Припиніть використовувати localStorage!». Тут немає ніякої двозначності, і ми не беремося за руки і не співаємо кумбайя, щоб пом’якшити удар.
localStorage з’явився на сцені приблизно в 2009 році як сховище на основі рядків розміром 5 МБ. Він ніколи не був розроблений як остаточний спосіб зберігання даних у браузері.
Давайте відразу перейдемо до суті з деякими основними моментами, оскільки наша увага в наші дні розсіяна:
WebSQL мала на меті бути простим інтерфейсом бази даних SQL для Інтернету. Він мав пристойну підтримку, але з часом зіткнувся з проблемами, які призвели до його занепаду.
Зрештою, IndexedDB стала «рекомендованим» стандартом для зберігання даних на стороні клієнта, оскільки вважається більш надійною та кросбраузерною. Але що хорошого в «рекомендованому», якщо більшість досвідчених фронтенд-розробників на момент написання цієї статті уникали його, як чуми?
Незважаючи на свої недоліки, в свій час WebSQL високо цінувалася серед веб-спільноти і була гідним конкурентом.
Файли cookie були створені в 1994 році Лу Монтуллі, розробником веб-браузерів компанії Netscape Communications.
Дехто з вас ще навіть не народився, коли файли cookie псували життя. Назва цієї статті мала б бути «Припиніть використовувати файли cookie та localStorage», але це дуже важка боротьба (так, ми повинні використовувати безпечні файли cookie).
Це зовсім не весело, і у вас є кращі заняття, ніж боротися з вороже налаштованим сховищем, щоб потім розчаруватися через те, що воно виявилося не таким, як ви очікували.
Причина, з якої ви хочете користуватися бібліотекою, полягає в тому, що здебільшого вони:
Я не рекомендую використовувати бібліотеки, розмір яких перевищує, наприклад, 10 кБ у заархівованому вигляді. Всі ці кілобайти складаються, і ці бібліотеки розміром понад 50 кБ не роблять нічого значущого для ваших реальних сценаріїв.
Єдина проблема, яку я виявив з більшістю бібліотек IndexedDB, полягає в тому, що вони здебільшого орієнтовані на керування версіями, що вам, ймовірно, зовсім не потрібно, особливо якщо ви просто шукаєте розумну альтернативу localStorage.
Швидка затичка: я створив db64, бібліотеку, щоб зосередитися на більш відносних аспектах IndexedDB.
Якщо вам потрібна версійність або курсори, я б порекомендував idb, яка є всеосяжною бібліотекою, що добре покриває всі нішеві випадки.
На мою думку, ніхто не повинен використовувати localStorage в наш час. Новим розробникам краще погратися з Promise() або async/ await, ніж намагатися з’ясувати, чому число «0» робить їхні умови truthy.
Підсумовуючи, можна сказати, що є перевага у швидкості, це неблокування, ви можете надійно зберігати типи і навіть використовувати курсор для ітерації над записами, якщо вам подобаються такі речі, ви можете легко побудувати пошукову систему на стороні клієнта з накопиченими вибірками даних, які не змушують ваші анімації смикатися, як це робить localStorage, блокуючи і втручаючись в них.
Для постійного зберігання даних IndexedDB є кращим інструментом, особливо якщо ви використовуєте бібліотеку-обгортку, щоб полегшити собі життя.
Коротко про українську IT-сферу у 2024 році Це коли на одну вакансію Middle розробника по…
Формування криптовалютної галузі в Україні почалося ще у 2014 – саме тоді з'явилися перші стартапи,…
Автор цього блогу — Python-девелопер Сергій Солдатов, який вирішив створити досить унікальний продукт. І це…
Думки шукачів діляться на: «так, однозначно» і «ні, не вартує, я все і так про…
Синдром студента — це форма прокрастинації, яка полягає в тому, що людина, якій дали завдання,…
Git — це найпопулярніша CVS прямо зараз, яка дозволяє відстежувати історію розробки і спільно працювати.…