1시간 만에 정리한 초간단 HTML5 (Freelac 에서 나온 HTML5 책 요약)
■ HTML5
- HTML5
. JavaScript + CSS + HTML
. DOM(Document Object Model) 이해 필요
- HTML5 기능 요약
. Video/Audio 재생
. 2D Graphic 처리 (canvas)
. Offline에서 수행되는 Web Application 구현 가능 (Application Cache)
. Domain 간의 통신 구현 (Cross Document Messaging, XMLHttpRequest)
. Client Data 저장 (Web Storage, Web SQL Database, Indexed Database API)
. Backgroung 처리 (Web Workers)
. Server Data Push, Srver와 쌍방향 통신 (Server Sent Event, Web Sockets)
. Local File 처리 (File API)
- Markup 의 semantic 기능 강화
- 높은 호환성 제공
■ HTML5 주요 기능
- HTML Tag & CSS
. <applet> Tag와 같은 의존적 Tag를 제거함. 대신 embed와 같은 표준 Tag 권장
. UI 구성 Tag는 CSS를 사용하도록 유도
- Canvas 를 이용한 그래픽 처리
. canvas 객체를 생성하여 함수 형태로 그래픽 처리가 가능
. fillRect(), drawImage(), moveTo(), lineTo(), stroke() 함수 등
- video, audio Tag를 이용한 동영상, 사운드 처리 가능
. 미디어 플레이어 기능 구현
. 네트워트 상태 정보, 버퍼링 등 제공
- Section 요소를 사용한 컨텐츠의 구조적 표현 가능
. section, article, aside, nav
- 향상된 form 요소
. input 태그 다양화 (search, tel, url, email 등의 입력을 위한 포매팅 자동 지원)
. datetime, date, month, week, time 등 시간, 날짜(달력) 입력을 위한 form tag 제공
. number, range, progress 등
. 입력 값의 validation 지원
. 자동 완성 기능
- Drag & Drop 기능
. 컨텐츠 항목에 대한 drag & drop 기능 지원
. 파일 drag & drop -> 파일 업로드 연계 가능
■ MessageEvent 인터페이스를 이용한 웹 페이지 간 통신 구현
- Cross Document Messaging : 두 개 이상의 웹 페이지가 메시지를 주고 받는 방식으로 통신 가능(postMessage(), onmessage event handler)
- Channel Messaging : M:N 통신 구현 (postMessage(), onmessage event handler)
■ Offline Web Application
- Network 연결 없이 동작하는 Application 구축 가능
- Application Cache 이용 -> 빠른 응답속도
- 캐시 대상 리소스를 지정할 수 있음 (Cache manifest)
■ Web Storage
- Web Storage : 클라이언트 디스크에 데이터를 저장하기 위한 영역
- Cookie와 비슷하나 크기 제한이 없고, 서버로 전송되지 않으며 유효기간이 없음
- 전역변수 localStorage를 활용 (setItem(), getItem(), removeItem())
- Session Storage : Window 별로 할당되는 저장소 (Domain(URL), Window 별로 다른 영역 생성)
■ Web SQL Database
- 클라이언트에서 사용할 수 있는 작은 규모의 DBMS
- SQL을 이용한 Query 가능 (select, update, delete, insert)
- 서버의 DBMS와 동기화 가능
- Domain별로 분리된 Database 생성으로 보안을 강화
■ Web Workers
- JavaScript 코드를 Background로 실행할 수 있음
- 하나의 Thread로 실행되는 웹 페이지의 행(Hang) 현상을 막을 수 있음
- Multi Threads 개념으로 병렬 처리가 가능하며 향상된 User Interface 구현 가능
■ Web Sockets
- Client-Server 통신기능 제공 (Client = Web Browser)
- send() 메소드를 이용한 데이터 전송
- onmessage event handler를 이용한 데이터 수신 및 처리
- 서버 측 Web Sockets 애플리케이션 구축 필요 (Python - pywebsocket 등 이용)
■ Geolocation API
- Mobile Device 위치 정보를 구하기 위한 API (Mobile Application에서 활용 가능)
- GPS 또는 Network(Wi-Fi) 망을 이용하여 경도와 위도 정보를 구함
- getCurrentPosition(), watchPosition(), clearWatch() API 제공
■ File API
- Web Page에서 Local PC의 파일에 접근할 수 있는 기능을 제공함
- 파일 속성을 구할 수 있음
- 파일 업로드 없이 파일 내용을 읽어서 처리할 수 있음
■ Indexed Database API
- Index Key - Value 패턴의 데이터 관리 기능 제공
- 전통적 SQL이 아닌 Key-Value 방식으로 사용되며 데이터를 추가, 검색하기 위한 API 제공
- JSON 표현 방식과 유사
■ 기타 기능
- iframe을 이용한 프레임 구현 시 sandbox 속성 지정 가능 : XSS 방지를 선택적으로 구현 가능
- Async 방식의 JavaScript 로딩을 통한 속도 개선
- CSS 파일의 적용 범위를 지정 가능
- 링크 요소의 ping 적용을 통한 Tracking 가능
- 메뉴, 툴바와 같은 고급 사용자 인터페이스 구현 가능
- Server Sent Events를 활용한 Server Push 기능 구현
- XMLHttpRequest Spec 지원 (AJAX 원형)
'My Work > Workplace' 카테고리의 다른 글
| HTML5 초간단 정리 (0) | 2012/03/27 |
|---|---|
| 북경입니다. (0) | 2010/08/09 |
| Any OS, Any Browser (0) | 2010/04/22 |
| 환송회 (2) | 2010/04/10 |
| 사무실 오후 (0) | 2008/11/11 |
| 시스템 오픈 전야 (2) | 2007/09/05 |
