Paul Duncan 씨가 클라이언트측 JavaScript 영구 저장소 라이브러리인 PersistJS를 릴리스했습니다. 영구 저장소라는 말이 보시는 분에 따라서 다소 생소하게 느껴질 수도 있는데요, 클라이언트에 사라지지 않는 데이터를 저장하겠다는 의미입니다. 가장 널리 알려진 것으로는 쿠키도 이에 속할 수 있을 것이고, Flash에서 사용하는 Shared Object도 이에 포함됩니다. Google에서는 Gears를 통해서 대용량의 저장도 가능하도록 하고 있습니다.

쿠키가 가장 호환성이 좋기는 하지만, 데이터가 4kb를 넘지 못한다는 점, 데이터가 필요하지 않는 순간에도 HTTP헤더에 계속 실려서 부하가 된다는 점, 제대로 조작하기가 어렵다는 점 등의 단점이 있습니다. 이러한 한계를 극복하기 위해 PersistJS는 다음과 같은 백엔드들을 지원합니다.
  • flash: Flash 8 persistent storage.
  • gears: Google Gears-based persistent storage.
  • localstorage: HTML5 draft storage.
  • whatwg_db: HTML5 draft database storage.
  • globalstorage: HTML5 draft storage (old spec).
  • ie: Internet Explorer userdata behaviors.
  • cookie: Cookie-based persistent storage.
다른 주목할만한 기능들로는 이런 것들이 있습니다:
  • 작음 (9.3k 축소버전, 3k gzip압축시)
  • 독립적: 추가적인 브라우저 플러그인이나 JavaScript 라이브러리 없이도 주요 브라우저들에서 잘 동작합니다.
  • 일관성: 브라우저와 관계없이 일관성있고 불투명한 API를 제공합니다.
  • 확장성: 추가적인 백엔드를 사용자가 추가할 수도 있습니다.
  • 하위 호환성: 주어진 브라우저에서 사용할 수 있는 클라이언트측 스토리지 솔루션이 없으면 Flash나 Cookie를 사용합니다.
  • 상위 호환성: 출시될 Internet Explorer, Firefox, Safari (Flash가 있다면 Opera도)를 지원합니다.
  • 겸손함: 브라우저 탐지보다는 기능 테스트를 사용하므로, 새로운 표준 호환 브라우저를 자동으로 지원합니다.
from PersistJS: Cross Browser Client-Side Persistent Storage on Ajaxian
Posted by 행복한고니 트랙백 0 : 댓글 0