본문 바로가기

블로그에 새 글을 올리지 않습니다.
새로운 글들은 제 인스타그램에서 확인해주세요.
카테고리 없음

HTML 5란 무엇이며 왜 중요한지에 대한 이야기

이번 블로그에서는 최근 인터넷 업계에서 (적어도 구글 내에서) 큰 keyword 중에 하나인 HTML 5에 대한 이야기를 하려고 한다.  HTML 5가 생소한 분들이 많으실텐데 web의 미래를 책임질 중요한 표준이라 블로그를 통해 알리고 싶었다. 
 
 
1. The Story So Far
먼저 배경 설명을 해보자.  요즘 컴퓨터를 쓰고 있는 사람의 화면을 보면 10에 9은 브라우저에서 뭔가를 하고 있을 것이다.  이제 컴퓨터를 쓴다는 것은 브라우저에서 인터넷을 쓰는 것이라고 해도 과장된 표현이 아닐 정도로 web에서 모든 것을 해결하는 시대가 완전히 자리를 잡았다.  이건 또한 information, content, application들이 내 컴퓨터 안에 있는게 아니라 web에 있다는 개념인 cloud computing과도 일맥상통한다.  비슷한 개념으로 SaaS란 말도 많이 쓰는데 Software as a Service의 약자로 software를 내 컴퓨터에 별도로 설치하는 것이 아니라 인터넷에 있는 service로 제공된다는 뜻이다. 
 
이런 시대가 오면서 web application들은 점점 진화했고 Gmail이나 Google Docs같은 application들에서 보듯 native application들에 가까운 기능과 UI를 가지게 되었다. (참고로 native application이란 컴퓨터에서 설치해서 쓰는 프로그램을 말한다.)  하지만 web page를 만드는 HTML은 기본적으로 text와 image만을 사용하도록 만들어진 언어이기에 사용이 제한적일 수밖에 없고, 그간 web에 기능을 강화하기 위한 많은 plug-in들이 생겨났다.  그 좋은 예가 web에서 multimedia를 구현하기 위한 Adobe Flash이고 Flash plug-in을 설치해야 YouTube 비디오와 같이 Flash로 구현된 content를 볼 수 있다.  
 
 
2. What is HTML 5?
그럼 HTML 5는 무엇인가?  HTML 5는 HTML의 다음 버전으로 이젠 plug-in같은 것 없이 web에서 advanced된 application을 만들 수 있도록 HTML을 발전시킨 것이다.  Web으로 모든 것을 해결하는 시대에 맞게 이젠 web page를 만드는 언어도 native application 수준의 rich한 web application을 만들 수 있게 하자 + 이를 특정 plug-in에 의존할 필요없이 표준으로 정립하자는게 HTML 5의 취지라고도 할 수 있겠다.  
 
HTML 5는 아직 초기단계이지만 이미 많은 tech 회사들이 HTML 5를 밀고 있다.  특히 Google은 HTML 5에 큰 투자를 하고 있고 그 좋은 예로 구글의 next big thing 중에 하나가 될 수 있는 Google Wave는 HTML 5 기반의 web application이다.  Firefox, Safari, Chrome, Opera는 기본적으로 HTML 5를 지원하고 Internet Explorer는 HTML 5를 지원하겠다고 발표만 한 상태이다.  (Microsoft의 입장에서 본다면 표준을 따르기보다는 독자 spec을 미는게 더 make sense하긴 하고 또 이게 Silicon Valley가 MS를 무척이나 싫어하는 이유이기도 함.)
 
 
3. Full-powered Web Application
HTML 5가 제공하는 기능들 중에 대표적인 것들 몇가지만 간단하게 살펴보자.  
- Canvas element를 통해서 dynamic한 그래픽을 Javascript만을 이용해서 web page에서 보여줌.
- Video element를 통해서 간단하게 web에서 비디오를 play하고 제어함.
- Geolocation API로 web browser에서도 내 현재 위치를 알 수 있음.
- Local storage가 가능해서 web application에서 offline 지원이 됨. 예를 들어 인터넷이 끊겨도 Gmail에서 기존의 메일을 읽을 수 있음. 
- Background processing이 가능해서 web application이 브라우저 속도를 느리게하지 않으면서 무거운 작업을 돌릴 수 있음.
- Drag & Drop API로 web application에서도 drag & drop이 가능함.
 
이외에도 더 많은 element와 API들로 지금의 web application보다 더 기능과 UI가 풍부한 app을 만들 수 있게 하고 궁극적으로 cloud computing을 더욱 powerful하게 만들어 줄 것이다.  더욱이 iPhone이나 Android에 있는 mobile browser들도 HTML 5를 지원하기 시작해서 mobile에서도 rich한 web application을 이용할 수 있게 된다.  
 
 
4. Why Important?
Web이라는 곳은 HTML이나 TCPIP와 같은 open된 표준이 있었기에 오늘날 이렇게 발전했다고 생각한다.  이제 새로운 web 시대를 맞아 이에 적합한 새로운 web 표준이 잘 정립될 때 better, faster and more useful web을 만들 수 있고, 이 노력은 한두 회사가 주도하는 것이 아니라 internet community 전체가 같이 주도해야 한다고 믿는다.  그래서 web을 rich하게 만드려는 plug-in들의 싸움이 아니라 standard로 누구나 rich한 web application을 만들 수 있고 진짜 싸움은 누가 더 user들에게 benefit을 주는 web service를 만드냐가 될때 건강한 web 생태계가 만들어질 수 있다.  즉, 개발자들이 쓸데없는데서 서로 경쟁하지 않고 진짜 중요한 부분들을 고민하는데 시간을 쓸때 좋은 서비스가 나온다고 믿기 때문이다.  
 
 
5. Meanwhile in Korea
인터넷 표준 이야기를 하니 한국 이야기를 안 할 수가 없다.  한국의 인터넷은 혼자서 표준과는 다르게 가는 면이 많고 이것이 한국의 인터넷를 오래 정체시킨 이유 중에 하나이자 한국 인터넷 회사들이 국내에만 머무르는 이유 중에도 하나라고 생각한다.  (대표적인 예가 한국 사이트들의 빈번한 ActiveX 사용.)  이건 미국에서 일하면서 더 많이 느끼는 부분이다.  이제 새로운 표준을 정립해가는 시점해서 한국의 인터넷계도 이 표준화 작업에 동참해서 같이 가면 참 좋을 것 같다.  
 


* 사진과 내용 전체를 복사해서 글을 퍼가지 말아주십시오. 제 글로 링크를 거는 형식으로 퍼가는 것은 대환영입니다.