오프라인 웹 애플리케이션 만들기 (Mozilla 웹 기술 블로그)
Source
Evernote/Advanced View Required/오프라인 웹 애플리케이션 만들기 ✩ Mozilla 웹 기술 블로그.md
Summary
이 문서는 2010 년도 기준으로 웹 애플리케이션을 오프라인에서 작동하도록 만들기 위한 세 가지 핵심 기술을 소개합니다. 첫째, localStorage와 sessionStorage를 사용하여 사용자의 입력 데이터를 영속적으로 저장하고 세션 간에 공유합니다. 둘째, navigator.onLine 속성과 online/offline 이벤트를 통해 네트워크 연결 상태를 감지하고, 오프라인 시에는 데이터를 로컬에 저장했다가 온라인 복귀 시 서버로 동기화하는 로직을 구현합니다. 셋째, Cache Manifest 파일 (text/cache-manifest) 을 사용하여 HTML, CSS, JS, 이미지 등 오프라인에서 필요한 리소스들을 명시적으로 캐시하도록 브라우저에 지시합니다.
Key Points
오프라인 웹 앱의 핵심 요소: 데이터 저장소, 연결 상태 감지, 리소스 캐싱
DOM Storage: localStorage(영속적) 와 sessionStorage(세션 기반) 를 통해 브라우저 세션 간 데이터 유지
네트워크 상태 감지: navigator.onLine 확인 및 window.addEventListener('online'/'offline') 이벤트 리스너 활용
동기화 전략: 오프라인 시 로컬 저장, 온라인 복귀 시 저장된 데이터 서버 전송 후 로컬 삭제
Cache Manifest: HTML 의 manifest 속성으로 연결된 .manifest 파일에 오프라인 필수 리소스 목록 명시
Manifest MIME-Type: 반드시 text/cache-manifest 로 설정 필요
HTML5 게임 오프라인 지원 가이드
크롬 개발자 도구 101
HTML5 Web App Client-Side Storage 옵션 및 팁
웹 애플리케이션 서버 측 보안 접근 방식에 대한 조사
브라우저 개발자 도구의 25 가지 비법 (2011)
HTML5 모바일 앱의 해부학 (Anatomy of a HTML5 Mobile App)
웹사이트의 미래 호환성 유지 가이드 (MDN)
웹 개발 레시피 (책 소개)
신규 웹 서비스 백엔드 설계 가이드 (권남)
실시간 웹 협업도구 만들기 (홍영택)
웹 애플리케이션 모델 저장소의 텍스트 및 내용 기반 검색
LungoJS: HTML5 기반 모바일 프레임워크
2014-10-15 기술 뉴스 요약
오프라인 아랍어 손글씨 인식 기술 동향 (A Survey)
홈페이지 구축 조건 및 계획
The “When Can I Use” Web Widget
Quora 기술 스택 및 아키텍처 분석
CSS 최신 동향 파악을 위한 Adobe Web Platform 블로그
HTML5 Video Player Comparison (2011)
2012년 1,2월 브라우저 기술 동향
2014 년 10 월 1 일 기술 뉴스 요약
Hiding Native HTML5 Video Controls in Full-Screen Mode
개드립용 크롬 확장 프로그램 만들기 (1 편)
CSS를 이용한 클라이언트 측 전체 텍스트 검색
기술 뉴스 #23 (2015-01-15)
크로스 플랫폼 SSO 기술 (Cross-Platform SSO)
HTML5 기반 프리젠테이션 도구 소개
HTTP 클라이언트 라이브러리의 리다이렉트 지원 방식 제안
Requirify: 브라우저 콘솔에서 동적 라이브러리 로딩
HTML5 의 핵심: W3C 명세와 실제 웹 플랫폼의 차이
실시간 데이터 스트리밍 기술 개요
JavaScript 학습 자료 (2013)
2014 년 11 월 1 일 기술 뉴스 요약
HTML5 <time> 요소 제거 논란
구글플러스 기술 FAQ
HTML에서 Javascript와 CSS 기반으로 애니메이션을 구현하는 방법
게임 개발팀 A의 정기 회의 매뉴얼
The Web Ahead: Jen Simmons 인터뷰 요약
Yeoman: 도구를 활용한 더 나은 웹 개발
모질라 CTO, W3C의 HTML5 DRM 허용안 비판
Web Fundamentals 및 Web Starter Kit 리소스
미래형 반응형 웹 디자인 (Warpspire)
VueJS 프로젝트에 Prettier + ES6 Lint 적용
Google, Web Components 를 웹 개발의 미래로 제시 (2013)
31 CSS Web Design Galleries You’ll Love
2012년 비즈니스 및 마케팅 트렌드 예측 자료 12선 (슬라이드쉐어)
NDC 2012 강연 자료 링크 모음
웹 증강을 위한 엔드유저 언어: 생산자와 소비자 모두를 위한 접근
웹 컴포넌트(1): Keep calm and usetheplatform
8bit.js: Web Audio API 기반 8비트 사운드 라이브러리
브라우저 동작의 이해 - 리플로우와 리페인트 및 그 최적화
Chrome DevTools 모바일 스크린캐스트 및 에뮬레이션
API 산업 초기 단계 및 Daum DNA API Meetup 후기
크롬 컨퍼런스 핵심 요약 (Web Components, DevTools, Chrome Apps)
2014-09-15 기술 뉴스 요약
KT 경제경영연구소 보고서 모음 (니오 필진)
2014 년 6 월 15 일 기술 뉴스 요약
Web Animations API: element.animate() (Chrome 36)
Web Push Notifications for a Simple Login System
awesome-javascript (스크랩 실패)
2014 년 4 월 15 일 기술 뉴스 요약 (웹개발, 보안, 업계 동향)
2014 년 4 월 15 일 기술 뉴스 요약 (Outsider’s Dev Story)
시스코-구글, HTML5 코덱 표준화 무산
ITViewpoint.com: 30분 만에 캔디팡 만들기 영상 소개
2015년 3월 1일 웹개발 및 IT 기술 뉴스 요약
W3C 웹 및 브로드캐스팅 제3차 대면 회의 개요
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
HTML5 Canvas 실시간 드로잉 성능 최적화 가이드
HTML5 의 역사: W3C 와 WHATWG 의 분열과 XHTML 의 실패
Puppeteer를 활용한 로컬 개발 서버 대체 방안 (web.dev 사례)
2017 웹 개발 트렌드: PWA, 프레임워크 안정화, GraphQL, AI
Gittip-links Chrome Extension 개발 기록
HTML5 Developer Conference 후기 1
파이썬 urllib를 이용한 웹 소스 출력 스크립트
Web Framework Benchmark Inspired
2014 년 7 월 2 일 기술 뉴스 요약 (웹개발, IT 업계, 프로젝트)
Scrapy 로 웹사이트 크롤링 해보기
PC 게임 실행 가능 여부 확인 방법
2012 만화 서비스 오픈 후기: 인프라 및 기술 스택
Heartbeat (블로그 업데이트)
2014 년 3 월 1 일 기술 뉴스 요약 (웹개발, IT 업계, 업데이트)
IETF 85 RTCWeb WG 회의 요약 (JSEP 및 W3C 동향)
모바일웹 Device API 표준화 동향 (2009-2011)
대시보드 장착 Nexus 7 및 KITT 테마 커스텀 런처
‘개방’ 웹과 ‘폐쇄’ DRM, HTML5 한 배 타나
리눅스 환경 HLS 스트리밍 참조 링크 모음
대학생을 위한 웹 개발 공부 체크리스트
2012 년 HTML5 모바일 개발 현황 및 디바이스 API
Roll It: 브라우저 기반 크로스 디바이스 게임 구현 사례
Synchronized Cross-device Mobile Testing
스마트TV의 미래, HTML5로 그린다
HTML5 표준에 DRM(EME) 도입을 둘러싼 찬반 논란
Roll It 생성 사례 연구
Google+ Hangouts 기술 아키텍처 및 전망
데이터 분석 및 머신러닝 오픈소스 기술 12종 (2015)
페이스북, Torch용 딥러닝 기술 오픈소스 공개
Chromecast 에서 Game Boy 에뮬레이터 실행 방법 (개념 증명)
2014-01-15 기술 뉴스 모음 (Outsider’s Dev Story)
웹 해킹 및 보안 테스트 도구 리소스
DTS 코덱 지원 중단 배경
구독형 디자인 리소스 사이트 5선
HTML is the Web ~ Pete Lambert
The Once And Future Web Platform
LG 웹OS의 다중 디바이스 확장 전략 및 플랫폼 아키텍처
Google Stadia 기술 사양 요약
Thymeleaf 사용 후기 및 한계점 분석
API 하이퍼미디어 형식 선택 가이드 (HAL, JSON-LD, Collection+JSON, SIREN)
2014년 3월 15일 기술 뉴스 дайджест (웹개발, IT 업계, 프로젝트)
하복(Havok), 모바일 게임 엔진 ‘프로젝트 아나키’ 무료 배포
스마트가전 발표자료 구성 및 기술 방향
카프카-스파크 및 인덱스 기술 논의 요약
구루의 기술뉴스 80회차: DevOps 문화 및 주요 기술 동향
음성 AI 비즈니스 및 기술 전략 메모 (2021-07)
#)
5 jQuery Notification Plugins
곽철용 짤 생성기 개발 후기 (Vue + HTML Canvas)
스크롤 후 고정 콘텐츠 (Scroll-Then-Fix Content)
Carrier IQ 개인정보 수집 논란 및 2011년 12월 기술 동향
ML 기반 번들링: JavaScript 툴링의 미래
북마클릿(Bookmarklet) 정의
Design Patterns in JavaScript (tcorral)
Prototype용 선택 상자 플러그인
“앱의 시대”는 끝났다
운영 분투기
Deview 2020: AI 기술 세션 요약 (폰트, 로봇, TTS)
실시간 투표 애플리케이션 구축 (Node.js, Express, AngularJS, MongoDB)
HTTP 기반 애플리케이션 방화벽 정책 분석
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
2020 년 웹 성능에 영향을 줄 6 가지 기술 (Simon Hearne)
대규모 JavaScript 애플리케이션 설계 및 엔지니어 성장
Explory: Flash 제작진의 멀티미디어 스토리텔링 앱
JBEE.io 블로그 마이그레이션 및 구축 후기 (Gatsby)
트위터, ‘스톰-하둡’ 연동 기술 OSS로 공개
Quora 기술 스택 및 아키텍처 분석 (Phil Whelan)