본문 바로가기

보물창고/IT 정보

HTML 5로 모바일 웹 애플리케이션 작성하기, Part 2: HTML 5로 모바일 웹 애플리케이션에 대한 로컬 스토리지 잠금 해제하기

반응형


기사 원문으로 가시면 자세한 설명과 소스코드 자료를 볼수 있습니다




요약: HTML 5의 가장 유용한 새 기능 중 하나는 로컬 스토리지의 표준화입니다. 마침내 웹 개발자들은 모든 클라이언트측 데이터를 4KB 쿠키에 맞추지 않아도 됩니다. 이제는 단순한 API로 대용량 데이터를 클라이언트에 저장할 수 있습니다. 이는 캐싱에 적합한 완벽한 메커니즘이기 때문에 애플리케이션의 속도를 극적으로 개선할 수 있습니다. 속도는 데스크탑 애플리케이션보다 훨씬 느린 연결에 의존하는 모바일 웹 애플리케이션에 중요한 요소입니다. HTML 5에 대한 이 시리즈에서 두 번째인 이 기사에서는 로컬 스토리지 사용 방법 및 로컬 스토리지 디버그 방법에 대해 살펴보고 로컬 스토리지를 사용하여 모바일 웹 애플리케이션을 개선하는 다양한 방법에 대해서도 살펴봅니다.



로컬 스토리지 101
 웹 개발자들은 오랫동안 클라이언트에 데이터를 저장하기 위해 고심해 왔다. HTTP 쿠키는 이러한 목적을 위해 혹사당해 왔다. 개발자들은 HTTP 스펙에 의해 할당된 4KB에 엄청난 양의 데이터를 우겨넣었다. 이유는 간단하다. 대화식 웹 애플리케이션은 다양한 이유로 데이터를 저장해야 하기 때문에 서버에 해당 데이터를 저장하는 데 충분하지 않거나 안전하지 않거나 적합하지 않은 경우가 자주 있다. 수년 동안 이러한 문제에 대한 여러가지 대안이 있었다. 다양한 브라우저에서 소유 스토리지 API를 소개했다. 또한 개발자들은 JavaScript를 통해 노출하여 Flash Player의 확장된 스토리지 기능을 활용했다. 이와 비슷하게 Google에서는 다양한 브라우저를 위해 Gears 플러그인을 작성했으며 여기에는 스토리지 API가 포함되어 있었다. 일부 JavaScript 라이브러리에서 이러한 차이점을 완화하기 위해 노력한 것은 놀랄만한 일이 아니다. 즉, 이러한 라이브러리에서는 단순한 API를 제공한 후 어떤 스토리지 기능이 존재하는지 확인한다(소유 브라우저 API이거나 플래시와 같은 플러그인이 될 수 있음).
 
 웹 개발자들을 위해 다행히도 마침내 HTML 5 스펙에 광범위한 브라우저에서 구현되는 로컬 스토리지의 표준이 포함되어 있다. 사실 이 표준은 가장 신속하게 채택된 항목 중 하나였으며 Microsoft®, Internet Explorer®, Mozilla Firefox, Opera, Apple Safari 및 Google Chrome과 같은 모든 주요 브라우저의 최신 버전에서 지원된다. 모바일 개발자에게 특히 중요한 점은 iPhone과 Android(버전 2.0 이상)를 사용하는 전화에 있는 것과 같은 WebKit 기반 브라우저와 Mozilla의 Fennec과 같은 기타 모바일 브라우저에서 지원된다는 것이다. 이러한 내용을 염두에 두고 API에 대해 살펴보자.



Storage API

예제: 로컬 스토리지를 사용한 캐싱

Listing 1. 가장 기본적인 Twitter 검색

로컬로 저장하기

Listing 2. 검색 및 저장하기

그림 1. 로컬로 캐시된 트윗

신속한 로컬 데이터 로딩

Listing 3. 로컬로 먼저 검색하기

스토리지 이벤트

Listing 4. 상위 10개의 검색 계산하기

Listing 5. 페이지 초기화하기

Listing 5. 페이지 초기화하기

요약
개발자는 클라이언트에 갑자기 엄청난 스토리지 공간이 생기면 해방감을 느낄 수 있다. 오랫동안 작업해 온 웹 개발자에게 이것은 수년 동안 바라왔지만 버그가 많은 방법에 의존하지 않는 적절한 방법이 없었던 작업에 대한 문을 여는 것이다. 모바일 개발자에게는 데이터의 로컬 캐싱을 실제로 가능하게 하기 때문에 더 흥미로운 것이다. 애플리케이션 성능의 극적인 향상 외에도 로컬 캐싱은 모바일 웹 애플리케이션의 흥미로운 또다른 새 기능인 오프라인 전환을 가능하게 하는 핵심이다. 이 시리즈의 다음 기사에서는 이 주제에 대해 다룬다.



기사 원문으로 가시면 에제 코드와 자세한 설명을 볼 수 있습니다
아이베엠 디벨로퍼 웍스 : http://www.ibm.com/developerworks/kr/
기사 원문 주소 : http://www.ibm.com/developerworks/kr/library/x-html5mobile2/

반응형