본문 바로가기

좋아하는 것_매직IT/13.html

1.웹프로그래밍, HTML 5에 대해서 간단히 알아보자.

반응형

HTML5 란?

  • HTML의 새로운 표준.
  • 이전 버전은 HTML4.01으로 1999년에 만들어짐.
  • 그 이후, 웹은 많이 발전되어서 새로운 규격이 필요하게 됨.
  • HTML5는 아직도 논의가 진행 중이지만 주요한 웹 브라우저는 HTML5의 많은 요소와 API를 이미 지원하고 있음.
    • 완전한 CSS3 지원
    • 비디오/오디오 지원
    • 2D/3D 그래픽 지원
    • 로컬 저장소 지원
    • 로컬 SQL 데이터베이스 지원
    • 웹 애플리케이션 지원

역사

  • HTML5는 W3C(World Wide Web Consortium)와 WHATWG(Web Hypertext Application Technology Working Group)의 합작품
  • W3C는 XHTML 2.0을 만들고 있었음.
  • WHATWG는 애플, 구글, 모질라 재단, 오페라 등이 2004년에 만든 단체로 웹폼과 애플리케이션에 대해서 작업 중이였음.
  • 2006년 위의 두단체는 협업을 시작
    • 새로운 HTML 규격을 제안하게 됨.
      • 새로운 규격이 바로 HTML5 탄생임.
  • 2009년 W3C가 개발하고 있던 XHTML 2.0을 공식적으로 포기하면서 HTML5는 차세대 규격으로 입지가 강화됨.
  • W3C와 WHATWG가 HTML5에 대해서 협업을 하면서 아래와 같은 개발원칙을 만듬.
    • 새로운 규격은 HTML/CSS/DOM/JavaScript 기술에 기반을 둠.
    • 플래시와 같은 외부 플러그인을 최소화
    • 오류처리를 향상
    • 스크립팅을 대치할만한 마크업을 증가시킴
    • 장치 독립적으로 설계
    • 개발과정이 대중들에게 투명하게 공개되어야함.

HTML5와 함께하는 웹프로그래밍의 표준 기술 3총사

  • 웹 페이지 내용은 HTML5
  • 웹 페이지의 스타일은 CSS3
  • 웹 페이지의 상호작용은 JavaScript
  • 즉, HTML5를 학습한다는 것은 단순히 HTML5에서 제공하는 마크업 태그만 학습하지말고, CSS3와 JavaScript를 함께 마스터해야 함.

주요기능 및 특징

  • 웹 애플리케이션 개발 가능
    • 모바일 플랫폼은 아래와 같이 여러가지 임
      • 안드로이드/아이폰/윈도우폰/블랙베리등등
      • 위의 각 플랫폼에 맞는 프로그램을 작성하려면 특정 언어를 사용해야하고 플랫폼의 프로그래밍 기술을 학습해야함.
      • but, 만약 HTML5를 사용하여 웹으로 애플리케이션을 만들면, 모든 플랫폼에서 변경없이 실행 가능함.
      • Natve APP 과 Web App 의 차이점
      •   Native App Web App
        실행속도 빠름 일반적으로 느림
        플랫폼 플랫폼마다 제작해야함 하나의 버전으로 모든 플랫폼에서 실행 가능
        배포 앱 마켓을 통한 배포 배포할 필요가 없음
        버전 업데이트 상당한 시간이 걸림 즉시 반영됨
        오프라인 시 사용성 사용 가능 약간의 기능만 사용 가능

         

  • 비디오, 오디오, 그래픽 지원 가능
    • 과거, 웹 브라우저에서 비디오나 오디오를 재생하기 위해서는 플래시 or 실버라이트를 사용해야했음.
    • HTML5는 오디오/비디오를 <audio>, <video> 태그를 이용해서 지원하고, <canvas> 요소를 지원해서 개발자가 자유롭게 그림을 그리는 것을 지원하고 있음.
    • SVG(Scalable Vector Graphics)와 MathML도 완벽하게 지원함.
      • SVG : 벡터 그래픽스를 지원
      • MathML : 수식을 그려줌
    • WebGL3D를 사용하면 3차원 그래픽까지 가능함
      • 많은 게임 엔진이 HTML5 플랫폼으로 이식되고 있음.  
  • 새로운 API 도입
    • 2차원 그래픽을 위한 <canvas> 요소
    • 미디어 재생 기능
    • 오프라인 웹 애플리케이션 
    • 드래그 앤 드롭(Drag-and-drop)
    • 웹 스토리지(Web Storage)
      • 쿠키를 대체할 수 있는 웹 저장소 기능 제공
    • 위치 정보(Geolocation) 제공
    • 웹 SQL 데이터베이스
    • 파일 API 지원
    • 웹 소켓(WebSocket) API 제공
      • 서버와 브라우저 간의 양방향 통신 기능 제공

결론

  • HTML5의 역사를 알아보면서, 협업의 중요성을 다시한번 느끼게됨.
  • HTML5를 공부하려면, CSS3와 JavaScript도 함께 학습하자.
  • HTML5를 통해 간단한 웹 애플리케이션을 만들어 봐야 겠다는 다짐을 해봄.

 


금일의 한마디 명언

  • 중요한 것은 사물에 관한 관념이 아니라 사물 자체이다. - 월리스 스티븐스-
728x90
300x250